new caching framework for API calls that allows for a fallback