completed cacheSolve()