refractoring and expanding the player class