implemented new GUI