lots of little stuff having to do with the flow from the UI