+gui + refactoring