remove calendarMath and make high order methods