refactored: playerController, moveStategy