Refactored move