initial shopping cart implementation