Add caching to product listing