clearer explanation of cachesolve