Main UI reacts to each user type; javadoc completed; code tided