more UI work, internal cleanup

Starting to tidy up internals and flow