dynamic product_type