fixed memoize