refactor players
refactor, work on tests, etc