refactored game, player, states