beginning to make caching asynchronous