added caching for fetching challenge