modified MoveLogic