Refactored Unit Move functions