initial use of generic memoizer