Updated the provider to support caching.