code: function( bodies, dt ){
  
              // half the timestep squared
              var halfdtdt = 0.5 * dt * dt
                  ,body = null
                  ,state
                  // use cached vector instances
                  // so we don't need to recreate them in a loop
                  ,scratch = Physics.scratchpad()
                  ,vel = scratch.vector()
                  ,angVel
                  ;
  
              for ( var i = 0, l = bodies.length; i < l; ++i ){
  
                  body = bodies[ i ];
                  state = body.state;
  
                  // only integrate if the body isn't fixed
                  if ( body.treatment !== 'static' && !body.sleep() ){
  
  
                      // Store previous location.
                      state.old.pos.clone( state.pos );
  
                      // Update position.
                      // ...
                      // oldV *= dt
                      // a *= 0.5 * dt
                      // x += oldV + a
                      vel.clone( state.old.vel );
                      state.pos.vadd( vel.mult( dt ) ).vadd( state.old.acc.mult( halfdtdt ) );
  
                      state.old.acc.zero();
  
                      //
                      // Angular components
                      //
  
                      state.old.angular.pos = state.angular.pos;
                      state.angular.pos += state.old.angular.vel * dt + state.old.angular.acc * halfdtdt;
                      state.old.angular.acc = 0;
  
                  }
              }
  
              scratch.done();
          }
docs: extended