Add `subtotal` updating.

I do not yet have any idea why the updateSubtotal does not
work on fist call...