implemented GUIs