build out ui; refactoring