update shopping cart functionality