--- a/trunk/UnitTests/SyncContactsTests.cs
+++ b/trunk/UnitTests/SyncContactsTests.cs
@@ -52,7 +52,7 @@
             sync.SyncContacts = true;
             sync.SyncNotes = false;
             sync.SyncProfile = syncProfile;
-            sync.SyncContactsFolder = syncContactsFolder;  
+            Syncronizer.SyncContactsFolder = syncContactsFolder;  
 
             sync.LoginToGoogle(gmailUsername, gmailPassword);
             sync.LoginToOutlook();
@@ -64,6 +64,7 @@
         {
             // delete previously failed test contacts
             DeleteTestContacts();
+            sync.UseFileAs = true;
                       
         }
 
@@ -121,7 +122,7 @@
         {        
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
             outlookContact.Email2Address = email.Replace("00", "01");
@@ -215,8 +216,8 @@
             match = sync.ContactByProperty(name, email);
             //ContactsMatcher.SyncContact(match, sync);
 
-            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
-            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact);
+            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
 
             // match recreatedOutlookContact with outlookContact
             Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
@@ -287,7 +288,8 @@
             Assert.AreEqual(outlookContact.JobTitle, recreatedOutlookContact.JobTitle); 
             Assert.AreEqual(outlookContact.Department, recreatedOutlookContact.Department); 
 
-            DeleteTestContacts(match);    
+            DeleteTestContacts(match);
+            recreatedOutlookContact.Delete();
 
             //Also delete the birthday/anniversary entries in Outlook calendar
             Logger.Log("Deleting Outlook calendar TEST entries (birthday, anniversary) ...", EventType.Information);
@@ -324,7 +326,7 @@
             sync.SyncOption = SyncOption.MergeOutlookWins;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FileAs = name;          
 
             outlookContact.HomeAddress = "10 Parades";
@@ -358,8 +360,8 @@
             match = sync.ContactByProperty(name, email);
             //ContactsMatcher.SyncContact(match, sync);
 
-            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
-            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact);
+            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
 
             // match recreatedOutlookContact with outlookContact
             Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
@@ -371,6 +373,7 @@
             Assert.AreEqual(outlookContact.FullName, recreatedOutlookContact.FullName);
             
             DeleteTestContacts(match);
+            recreatedOutlookContact.Delete();
         }
 
         [Test]
@@ -379,7 +382,7 @@
             sync.SyncOption = SyncOption.MergeOutlookWins;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.CompanyName = name;
            
             outlookContact.BusinessAddress = "11 Parades";           
@@ -405,8 +408,8 @@
             match = sync.ContactByProperty(name, email);
             //ContactsMatcher.SyncContact(match, sync);
 
-            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
-            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact);
+            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
 
             // match recreatedOutlookContact with outlookContact
             Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
@@ -419,6 +422,7 @@
             Assert.IsNull(outlookContact.Email1Address);
 
             DeleteTestContacts(match);
+            recreatedOutlookContact.Delete();
         }
 
         [Test]
@@ -427,7 +431,7 @@
             sync.SyncOption = SyncOption.MergeOutlookWins;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FileAs = email;
             outlookContact.Email1Address = email;
 
@@ -452,8 +456,8 @@
             match = sync.ContactByProperty(email, email);
             //ContactsMatcher.SyncContact(match, sync);
 
-            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
-            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact);
+            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
 
             // match recreatedOutlookContact with outlookContact
             Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
@@ -464,6 +468,7 @@
             Assert.IsNull(outlookContact.CompanyName);
 
             DeleteTestContacts(match);
+            recreatedOutlookContact.Delete();
         }
 
         [Test]
@@ -473,7 +478,7 @@
             sync.UseFileAs = true;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = "SaveAs";
 
@@ -497,15 +502,22 @@
             match = sync.ContactByProperty("SaveAs", string.Empty);
             //ContactsMatcher.SyncContact(match, sync);
 
-            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
-            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact);
+            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
 
             // match recreatedOutlookContact with outlookContact
-            Assert.AreEqual(outlookContact.FileAs, match.GoogleContact.Title);
-            Assert.AreEqual(outlookContact.FileAs, match.GoogleContact.Name.FullName);
+            Assert.AreEqual(recreatedOutlookContact.FileAs, match.GoogleContact.Title);
+            Assert.AreEqual(recreatedOutlookContact.FileAs, match.GoogleContact.Name.FullName);
             Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
 
+            recreatedOutlookContact.FileAs = name;
+            Assert.AreNotEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
+            Assert.AreNotEqual(recreatedOutlookContact.FileAs, match.GoogleContact.Title);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
+            Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
+
             DeleteTestContacts(match);
+            recreatedOutlookContact.Delete();
         }
 
         [Test]
@@ -515,7 +527,7 @@
             sync.UseFileAs = false;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = "SaveAs";           
 
@@ -539,16 +551,22 @@
             match = sync.ContactByProperty(name, email);
             //ContactsMatcher.SyncContact(match, sync);
 
-            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
-            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact);
+            Outlook.ContactItem recreatedOutlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
 
             // match recreatedOutlookContact with outlookContact
-            Assert.AreEqual(match.GoogleContact.Name.FullName, recreatedOutlookContact.FileAs);
+            Assert.AreEqual(match.GoogleContact.Name.FullName, OutlookContactInfo.GetTitleFirstLastAndSuffix(recreatedOutlookContact).Trim().Replace("  ", " "));
             Assert.AreNotEqual(outlookContact.FileAs, match.GoogleContact.Title);
             Assert.AreNotEqual(outlookContact.FileAs, match.GoogleContact.Name.FullName);
             Assert.AreNotEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
 
+            recreatedOutlookContact.FileAs = "SaveAs";
+            Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
+            ContactSync.UpdateContact(match.GoogleContact, recreatedOutlookContact, sync.UseFileAs);
+            Assert.AreEqual(outlookContact.FileAs, recreatedOutlookContact.FileAs);
+
             DeleteTestContacts(match);
+            recreatedOutlookContact.Delete();
         }
 
         [Test]
@@ -557,7 +575,7 @@
             sync.SyncOption = SyncOption.MergeOutlookWins;            
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -600,7 +618,7 @@
             sync.SyncDelete = true;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -662,7 +680,7 @@
             sync.SyncDelete = true;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -709,7 +727,7 @@
             Assert.IsTrue(File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\SamplePic.jpg"));
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -754,7 +772,7 @@
             Assert.IsTrue(File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\SamplePic.jpg"));
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -783,7 +801,7 @@
             Assert.IsTrue(File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\SamplePic.jpg"));
            
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -816,7 +834,7 @@
             outlookContact.Delete();
             
             // recreate outlook contact
-            outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
 
             // outlook contact should now have no photo
             Assert.IsNull(Utilities.GetOutlookPhoto(outlookContact));
@@ -840,7 +858,7 @@
             sync.SyncOption = SyncOption.MergeOutlookWins;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -879,7 +897,7 @@
 
             // delete outlook contact
             outlookContact.Delete();
-            outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             sync.UpdateContact(match.GoogleContact, outlookContact);
             match = new ContactMatch(new OutlookContactInfo(outlookContact, sync), match.GoogleContact);
             outlookContact.Save();
@@ -914,7 +932,7 @@
             sync.SyncDelete = true;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -995,7 +1013,7 @@
             sync.SyncDelete = true;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -1062,7 +1080,7 @@
             sync.SyncOption = SyncOption.MergeOutlookWins;
 
             // create new contact to sync
-            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -1112,7 +1130,7 @@
             DeleteTestContacts();    
 
             // create new contact to sync
-            outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+            outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
             outlookContact.FullName = name;
             outlookContact.FileAs = name;
             outlookContact.Email1Address = email;
@@ -1218,7 +1236,7 @@
         //    ContactsMatcher.SyncContacts(sync);
 
         //    // create new contact to sync
-        //    Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);
+        //    Outlook.ContactItem outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);
         //    outlookContact.FullName = name;
         //    outlookContact.FileAs = name;
         //    outlookContact.Email1Address = email;
@@ -1283,14 +1301,14 @@
 
             for (int i = 0; i < c; i++)
             {
-                outlookContact = Syncronizer.CreateOutlookContactItem(sync.SyncContactsFolder);                
+                outlookContact = Syncronizer.CreateOutlookContactItem(Syncronizer.SyncContactsFolder);                
                 outlookContact.FullName = names[i];
                 outlookContact.FileAs = names[i];
                 outlookContact.Email1Address = emails[i];
                 outlookContact.Save();
 
                 Contact googleContact = new Contact();
-                ContactSync.UpdateContact(outlookContact, googleContact, true);
+                ContactSync.UpdateContact(outlookContact, googleContact, sync.UseFileAs);
                 match = new ContactMatch(new OutlookContactInfo(outlookContact, sync), googleContact);
 
                 //save contact to google.
@@ -1464,7 +1482,7 @@
 
             Contact googleContact = match.GoogleContact;
 
-            ContactSync.UpdateContact(outlookContact, googleContact, true);
+            ContactSync.UpdateContact(outlookContact, googleContact, sync.UseFileAs);
 
             googleContact.Title = outlookContact.FileAs;