Complete player class