Added caching to speed up duplicate requests