Refactored movement