Use another way to handle XY movements