refactored out separate timetable template and controller