refactored HttpGetResponse and added caching