delegate method with cache hit