First checkin for the gui rework and refactoring