Add caching for single results