movement_controller algorithm