added shoppingcart functions