ui changes. expensive calls moved to separate thread. progress indicators added. workflow defined.