reworking the schedule parsing engine