Protocol classes and GUI merged, not  finished !