dev: extract player class