Add new GUI and do some refactoring. It's not done.