added player class

sockets are wrapped in player objects