gui refactoring and development