moved more ui generation into the UI class