more refactoring, splitting up route and timetable parsing