Redo Movement

Movement(minus y Movement) redone after source tree glitched, not near
as thoroughly tested, but think functionality works like before.