Refactoring + WIP version of GUI