Lots of movement logic changes