Caching and error handling