maybe move_forward is a dual of move_backward