Index: trunk/src/scriptbuilder/structures/units/Unit.java
===================================================================
--- trunk/src/scriptbuilder/structures/units/Unit.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/units/Unit.java	(revision 46)
@@ -8,4 +8,5 @@
 import scriptbuilder.structures.ELEMENT;
 import scriptbuilder.structures.I_XML_Writable;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -105,121 +106,99 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.NEW_UNIT.tag + " UnitNum=\"" + UnitNum + "\"");
+        String output = XMLWriter.openTag(ELEMENT.NEW_UNIT.tag + " UnitNum=\"" + UnitNum + "\"");
 
         if (!ID.equals(""))
         {
-            output += openTag(ELEMENT.ID.tag) + ID + closeTag(ELEMENT.ID.tag);
+            output += XMLWriter.simpleTag(ID, ELEMENT.ID);
         }
 
         if (!Status.equals(""))
         {
-            output += openTag(ELEMENT.STATUS.tag) + Status + closeTag(ELEMENT.STATUS.tag);
+            output += XMLWriter.simpleTag(Status, ELEMENT.STATUS);
         }
 
         if (!Master_Inc_Num.equals(""))
         {
-            output += openTag(ELEMENT.MASTER_INC_NUM.tag) + Master_Inc_Num + closeTag(ELEMENT.MASTER_INC_NUM.tag);
+            output += XMLWriter.simpleTag(Master_Inc_Num, ELEMENT.MASTER_INC_NUM);
         }
 
         if (!Primary.equals(""))
         {
-            output += openTag(ELEMENT.PRIMARY.tag) + Primary + closeTag(ELEMENT.PRIMARY.tag);
+            output += XMLWriter.simpleTag(Primary, ELEMENT.PRIMARY);
         }
 
         if (!OOS.equals(""))
         {
-            output += openTag(ELEMENT.OOS.tag) + OOS + closeTag(ELEMENT.OOS.tag);
+            output += XMLWriter.simpleTag(OOS, ELEMENT.OOS);
         }
 
         if (!Type.equals(""))
         {
-            output += openTag(ELEMENT.TYPE.tag) + Type + closeTag(ELEMENT.TYPE.tag);
-        }
-
-        if (!Curr_Loc.equals(""))
-        {
-            output += openTag(ELEMENT.CURR_LOC.tag) + Curr_Loc + closeTag(ELEMENT.CURR_LOC.tag);
-        }
-
-        if (!Destination.equals(""))
-        {
-            output += openTag(ELEMENT.DESTINATION.tag) + Destination + closeTag(ELEMENT.DESTINATION.tag);
-        }
+            output += XMLWriter.simpleTag(Type, ELEMENT.TYPE);
+        }
+
+        //All units have a current location field, even if it's blank
+        output += XMLWriter.simpleTag(Curr_Loc, ELEMENT.CURR_LOC);
+
+        //All units have a destination field, even if it's blank
+        output += XMLWriter.simpleTag(Destination, ELEMENT.DESTINATION);
 
         if (!Misc_Info.equals(""))
         {
-            output += openTag(ELEMENT.MISC_INFO.tag) + Misc_Info + closeTag(ELEMENT.MISC_INFO.tag);
+            output += XMLWriter.simpleTag(Misc_Info, ELEMENT.MISC_INFO);
         }
 
         if (!Stack.equals(""))
         {
-            output += openTag(ELEMENT.STACK.tag) + Stack + closeTag(ELEMENT.STACK.tag);
+            output += XMLWriter.simpleTag(Stack, ELEMENT.STACK);
         }
 
         if (!Area.equals(""))
         {
-            output += openTag(ELEMENT.AREA.tag) + Area + closeTag(ELEMENT.AREA.tag);
+            output += XMLWriter.simpleTag(Area, ELEMENT.AREA);
         }
 
         if (!Badge_Num.equals(""))
         {
-            output += openTag(ELEMENT.BADGE_NUM.tag) + Badge_Num + closeTag(ELEMENT.BADGE_NUM.tag);
+            output += XMLWriter.simpleTag(Badge_Num, ELEMENT.BADGE_NUM);
         }
 
         if (!Officer.equals(""))
         {
-            output += openTag(ELEMENT.OFFICER.tag) + Officer + closeTag(ELEMENT.OFFICER.tag);
+            output += XMLWriter.simpleTag(Officer, ELEMENT.OFFICER);
         }
 
         if (!Office.equals(""))
         {
-            output += openTag(ELEMENT.OFFICE.tag) + Office + closeTag(ELEMENT.OFFICE.tag);
+            output += XMLWriter.simpleTag(Office, ELEMENT.OFFICE);
         }
 
         if (!Timer.equals(""))
         {
-            output += openTag(ELEMENT.TIMER.tag) + Timer + closeTag(ELEMENT.TIMER.tag);
+            output += XMLWriter.simpleTag(Timer, ELEMENT.TIMER);
         }
 
         if (!P.equals(""))
         {
-            output += openTag(ELEMENT.P.tag) + P + closeTag(ELEMENT.P.tag);
+            output += XMLWriter.simpleTag(P, ELEMENT.P);
         }
 
         if (!Agy.equals(""))
         {
-            output += openTag(ELEMENT.AGY.tag) + Agy + closeTag(ELEMENT.AGY.tag);
+            output += XMLWriter.simpleTag(Agy, ELEMENT.AGY);
         }
 
         if (!Alias.equals(""))
         {
-            output += openTag(ELEMENT.ALIAS.tag) + Alias + closeTag(ELEMENT.ALIAS.tag);
+            output += XMLWriter.simpleTag(Alias, ELEMENT.ALIAS);
         }
 
         if (!Unit_Status.equals(""))
         {
-            output += openTag(ELEMENT.UNIT_STATUS.tag) + Unit_Status + closeTag(ELEMENT.UNIT_STATUS.tag);
-        }
-
-        output += closeTag(ELEMENT.NEW_UNIT.tag);
+            output += XMLWriter.simpleTag(Unit_Status, ELEMENT.UNIT_STATUS);
+        }
+
+        output += XMLWriter.closeTag(ELEMENT.NEW_UNIT.tag);
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
