Refactored to use dataservice and player objects