Fix movement logic