add shopping cart and change list logic