or use a memoization module