add class based player, probably will get rid of the class syntax