fixed actual memoization