a whole bunch of UI updates