first draft, only gui