Implemented most of Player class