gui + plugin gui refactoring