complete caching