Chapter 9 add to cart functionality