TimeTable: refactoring of timetable for calendar

there was a small 'flaw' in the previous version, it could enter an infinite loop for the calendar.

this version simplifies the whole process
too long lines