Direction based movement working

Seems to be working, needs more testing though