need a new structure for the ui.