code: function( bodies, dt ){
  
              // half the timestep
              var dtdt = dt * dt
                  ,body = null
                  ,state
                  ,prevDt = this.prevDt || dt
                  ,dtcorr = dt/prevDt
                  ;
  
              for ( var i = 0, l = bodies.length; i < l; ++i ){
  
                  body = bodies[ i ];
                  state = body.state;
  
                  // only integrate if the body isn't static
                  if ( body.treatment !== 'static' && !body.sleep() ){
  
                      // so we need to scale the value by dt so it
                      // complies with other integration methods
                      state.vel.mult( dt * dtcorr );
  
                      // Store old position.
                      // xold = x
                      state.old.pos.clone( state.pos );
  
                      state.pos.vadd( state.vel );
  
                      // restore velocity
                      state.vel.mult( 1 / (dt * dtcorr) );
  
                      // store calculated velocity
                      state.old.vel.clone( state.vel );
  
                      //
                      // Angular components
                      //
  
  
                      state.angular.vel *= dt * dtcorr;
  
                      state.old.angular.pos = state.angular.pos;
  
                      state.angular.pos += state.angular.vel;
                      state.angular.vel /= dt * dtcorr;
                      state.old.angular.vel = state.angular.vel;
                  }
              }
  
              this.prevDt = dt;
          }
docs: extended