refactor
GUI