Refactored move functions