dynamic updates to totals while typing