just use existing memoize package