add - finished up to memoize