refactored how i get movement. This should clean up a bunch of junk/bad
code, and will work better and be easier to understand.