refining memoize