more refactoring of CalendarDay