Shopping cart - 2nd submission.