add recurring event calculations