much better slow-speed movement. but the code needs cleanup.