timeslot could be null