refactored player and game classes