added in product-loop