update memoize function