prototype top-level methods, implement generate_players