gui package refactoring