updates on change instead of end