update subtotal