clean, ui, interaction