added caching for the json requests