added memoize to calendar view