refactor and extra functionality

game loop
new movement logic