Re-Made abstract player class