updating cart functionality