added GUI and TUI classes