re-fix movement handling code after refactor