final caching