fixed do_move()