gui <-> ui <-> server