new exercise with solution: ShoppingCart