cart and product functs update