add update cart function