stage 7:
- Encapsulate versionHelper
- Fix timeslot: endTime is always in the same day of startTime. So move it to the next if needed