refactoring to represent the move