add gui, reorganize classes