Refactored Player model