diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/buddy_available.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/buddy_available.gif
deleted file mode 100644
index 31d8f3a..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/icons/buddy_available.gif
+++ /dev/null
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/collaboration.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/collaboration.gif
new file mode 100644
index 0000000..6b343da
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.example.collab/icons/collaboration.gif
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/contact_enabled.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/contact_enabled.gif
new file mode 100644
index 0000000..5eed043
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.example.collab/icons/contact_enabled.gif
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/group.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/group.gif
deleted file mode 100644
index 495c1a2..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/icons/group.gif
+++ /dev/null
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/im.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/im.gif
deleted file mode 100644
index d52de24..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/icons/im.gif
+++ /dev/null
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/messages.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/messages.gif
new file mode 100644
index 0000000..27d15cc
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.example.collab/icons/messages.gif
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/person.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/person.gif
deleted file mode 100644
index 608d2d1..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/icons/person.gif
+++ /dev/null
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/icons/presence_member.gif b/examples/bundles/org.eclipse.ecf.example.collab/icons/presence_member.gif
deleted file mode 100644
index d307b20..0000000
--- a/examples/bundles/org.eclipse.ecf.example.collab/icons/presence_member.gif
+++ /dev/null
Binary files differ
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml b/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml
index dea4f4b..7403570 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml
+++ b/examples/bundles/org.eclipse.ecf.example.collab/plugin.xml
@@ -5,7 +5,7 @@
          id="org.eclipse.ecf.example.collab.ui.ClientPreferencePage"
          point="org.eclipse.ui.views">
       <view
-            icon="icons/group.gif"
+            icon="icons/collaboration.gif"
             class="org.eclipse.ecf.internal.example.collab.ui.LineChatView"
             category="org.eclipse.ecf.ui.viewcategory"
             name="Collaboration"
@@ -32,7 +32,7 @@
          </menu>
          <action
                class="org.eclipse.ecf.internal.example.collab.actions.JoinGroupWizardAction"
-               icon="icons/group.gif"
+               icon="icons/collaboration.gif"
                id="org.eclipse.ecf.client.joingroupwizardaction"
                label="Connect Project to ECF Collaboration Group..."
                menubarPath="org.eclipse.ecf.example.collab.menu1/group1"/>
@@ -126,7 +126,7 @@
          </menu>
          <action
                class="org.eclipse.ecf.internal.example.collab.actions.JoinGroupWizardAction"
-               icon="icons/group.gif"
+               icon="icons/collaboration.gif"
                id="org.eclipse.ecf.example.collab.action2"
                label="Connect to ECF Collaboration Group..."
                style="push"
@@ -135,7 +135,7 @@
          </action>
          <action
                class="org.eclipse.ecf.internal.ui.actions.SelectProviderAction"
-               icon="icons/im.gif"
+               icon="icons/messages.gif"
                id="org.eclipse.ecf.example.collab.ui.connectAction"
                label="Connect to ECF IM/Chat Provider"
                style="pulldown"
@@ -151,7 +151,7 @@
             class="org.eclipse.ecf.example.collab.ui.SharedEditor"
             default="false"
             extensions="xml,txt,java"
-            icon="icons/person.gif"
+            icon="icons/contact_enabled.gif"
             id="org.eclipse.ecf.example.collab.SharedEditor"
             name="Shared Editor"/>
    </extension>
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
index 65b7d72..879b8b6 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
@@ -227,8 +227,8 @@
 				.getWorkbench().getSharedImages().getImage(
 						ISharedImages.IMG_OBJ_FOLDER));
 		registry.put(ClientPluginConstants.DECORATION_USER, AbstractUIPlugin
-				.imageDescriptorFromPlugin("org.eclipse.ecf.example.collab",
-						"icons/buddy_available.gif").createImage());
+				.imageDescriptorFromPlugin("org.eclipse.ecf.ui",
+						"icons/enabled/contact_enabled.gif").createImage());
 		registry.put(ClientPluginConstants.DECORATION_TIME, PlatformUI
 				.getWorkbench().getSharedImages().getImage(
 						ISharedImages.IMG_TOOL_FORWARD));
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
index ad947ca..9b0416d 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
@@ -131,7 +131,7 @@
 		newShell.setText("Team Chat: " + view.name);
 		image = ImageDescriptor.createFromURL(
 				FileLocator.find(ClientPlugin.getDefault().getBundle(),
-						new Path("icons/person.gif"), null)).createImage();
+						new Path("icons/contact_enabled.gif"), null)).createImage();
 		newShell.setImage(image);
 		RGB[] colors = new RGB[2];
 		colors[0] = new RGB(0, 0, 0);
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java
index 56eba08..028a262 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizard.java
@@ -25,7 +25,7 @@
 
 public class JoinGroupWizard extends Wizard {
 
-	protected static final String PAGE_TITLE = "ECF Collaboration Connect";
+	protected static final String PAGE_TITLE = "Collaboration Connect";
 
 	private static final String DIALOG_SETTINGS = JoinGroupWizard.class
 			.getName();
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java
index 3a79102..85315e7 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/JoinGroupWizardPage.java
@@ -16,6 +16,7 @@
 
 import org.eclipse.ecf.core.ContainerFactory;
 import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.ui.SharedImages;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.wizard.WizardPage;
 import org.eclipse.swt.SWT;
@@ -39,12 +40,12 @@
 
 	protected static final String USER_NAME_SYSTEM_PROPERTY = "user.name";
 
-	protected static final String PAGE_DESCRIPTION = "Complete account info and choose 'Finish' to login";
+	protected static final String PAGE_DESCRIPTION = "Complete account info and choose 'Finish' to login.";
 	protected static final String JOINGROUP_FIELDNAME = "Group ID:";
 	protected static final String NICKNAME_FIELDNAME = "Nickname:";
 	protected static final String ECF_DEFAULT_URL = "ecftcp://ecf.eclipse.org:3282/server";
 	protected static final String ECF_TEMPLATE_URL = "ecftcp://<server>:<port>/<groupname>";
-	protected static final String PAGE_TITLE = "Connect ECF Generic Client";
+	protected static final String PAGE_TITLE = "Connect Generic Client";
 
 	protected static final String DEFAULT_CLIENT = "ecf.generic.client";
 
@@ -54,6 +55,7 @@
 		super("wizardPage");
 		setTitle(PAGE_TITLE);
 		setDescription(PAGE_DESCRIPTION);
+		setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.IMG_COLLABORATION_WIZARD));
 	}
 
 	protected String template_url = ECF_TEMPLATE_URL;
@@ -179,7 +181,9 @@
 				autoLoginFlag = autoLogin.getSelection();
 			}
 		});
-
+		// XXX disallow autologin for now
+		autoLogin.setEnabled(false);
+		
 		fillCombo();
 		restoreDialogSettings();
 	}
