New GUI
A lot of refactor