update move logic