added a force controller and all the needed methods to calculate the physically correct movement