refactor mainwindow