memoize on insert