[design change] added a Player class