refactoring player to include description