add product_cache_generator