change movement logic