added some implementations to player.cpp