run updates on the GUI thread