changed everything to generic timeslot/worker