gui refactoring continued