code: function( data ){
      
                  var bodies = this.getTargets()
                      ,body
                      ,order = this.options.order
                      ,strength = this.options.strength
                      ,minDist = this._minDist
                      ,maxDist = this._maxDist
                      ,scratch = Physics.scratchpad()
                      ,acc = scratch.vector()
                      ,norm
                      ,g
                      ;
      
                  for ( var j = 0, l = bodies.length; j < l; j++ ){
                      
                      body = bodies[ j ];
      
                      // clone the position
                      acc.clone( this._pos );
                      acc.vsub( body.state.pos );
                      // get the distance
                      norm = acc.norm();
      
                      if (norm > minDist && norm < maxDist){
      
                          g = strength / Math.pow(norm, order);
      
                          body.accelerate( acc.normalize().mult( g ) );
                      }
                  }
      
                  scratch.done();
              }
docs: extended