add persisten memoizazion