GUI refactored