even moar gui refactoring