E1: A smarter cart
E2: Handling errors
E3: Finishing the cart