Refactoring: merge do_move and create_move methods