begin rewriting player class