Separated more UI from logic