cart functions and product functions update 1