text edits and UI updates