update move_forward semantics.