Step 2 - Movement. Still needs refactor.
Step 2 - Movement. Still needs refactor.