update cart constructor