removed memoization