time slots will always be ordered by start time