try a memoized version of the generator