optimization with NSCalendar