Added optional caching of requests