update the product update function