Shopping cart

closes #2