step-6 - caching