added rescue block to set_product