Move command implementation + refactoring