improves integration with caching