Index: /trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java
===================================================================
--- /trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java	(revision 1417)
+++ /trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java	(revision 1418)
@@ -141,6 +141,6 @@
 		}
 		
-		LinkedHashMap<Character,Method> itemTags = new LinkedHashMap<Character, Method>(getItemTags());
-		LinkedHashMap<String,Method> itemTagsExt = new LinkedHashMap<String, Method>(getItemTagsExt());
+		LinkedHashMap<Character,Method> itemTags = new LinkedHashMap<Character, Method>(getItemCharTags());
+		LinkedHashMap<String,Method> itemTagsExt = new LinkedHashMap<String, Method>(getItemStrTags());
 		
 		writeTag(toWrite, new Object[] {}, itemTags, 'S');
Index: /trunk/src/org/expeditee/io/DefaultFrameWriter.java
===================================================================
--- /trunk/src/org/expeditee/io/DefaultFrameWriter.java	(revision 1417)
+++ /trunk/src/org/expeditee/io/DefaultFrameWriter.java	(revision 1418)
@@ -30,4 +30,5 @@
 import java.util.HashSet;
 import java.util.LinkedHashMap;
+import java.util.Set;
 
 import org.expeditee.agents.WriteTree;
@@ -167,7 +168,9 @@
 
 	// keep track of methods that are put on the same line
-	private static LinkedHashMap<Character, Method> _ItemTags = new LinkedHashMap<Character, Method>();
+	private static LinkedHashMap<Character, Method> _ItemCharTags = new LinkedHashMap<Character, Method>();
 	// IMPORTANT: keys in _ItemTagsExt must start with underscore as their first character 
-	private static LinkedHashMap<String, Method> _ItemTagsExt = new LinkedHashMap<String, Method>();
+	private static LinkedHashMap<String, Method> _ItemStrTags = new LinkedHashMap<String, Method>();
+	
+	private static LinkedHashMap<String, Method> _ItemTags = new LinkedHashMap<String, Method>();
 
 	protected static LinkedHashMap<Character, Method> _FrameTags = new LinkedHashMap<Character, Method>();
@@ -190,82 +193,88 @@
 			
 			// Note: As of 26/11/18 there are no unused letter item tags.  Use other characters.
-			_ItemTags.put(DefaultFrameWriter.TYPE_AND_ID, Item.class.getMethod("getTypeAndID"));
-			_ItemTags.put(DefaultFrameWriter.DATE_CREATED, Item.class.getMethod("getDateCreated"));
-			_ItemTags.put(DefaultFrameWriter.COLOR, Item.class.getMethod("getColor"));
-			_ItemTags.put(DefaultFrameWriter.BACKGROUND_COLOR, Item.class.getMethod("getBackgroundColor"));
-			_ItemTags.put(DefaultFrameWriter.BORDER_COLOR, Item.class.getMethod("getBorderColor"));
-
-			_ItemTags.put(DefaultFrameWriter.POSITION, Item.class.getMethod("getPosition"));
-			_ItemTags.put(DefaultFrameWriter.TEXT, Text.class.getMethod("getText"));
-			_ItemTags.put(DefaultFrameWriter.LINK, Item.class.getMethod("getLink"));
-			_ItemTags.put(DefaultFrameWriter.ACTION, Item.class.getMethod("getAction"));
-			_ItemTags.put(DefaultFrameWriter.ACTION_MARK, Item.class.getMethod("getActionMark"));
-			_ItemTags.put(DefaultFrameWriter.ACTION_CURSOR_ENTER, Item.class.getMethod("getActionCursorEnter"));
-			_ItemTags.put(DefaultFrameWriter.ACTION_CURSOR_LEAVE, Item.class.getMethod("getActionCursorLeave"));
-			_ItemTags.put(DefaultFrameWriter.ACTION_ENTER_FRAME, Item.class.getMethod("getActionEnterFrame"));
-			_ItemTags.put(DefaultFrameWriter.ACTION_LEAVE_FRAME, Item.class.getMethod("getActionLeaveFrame"));
-			_ItemTags.put(DefaultFrameWriter.DATA, Item.class.getMethod("getData"));
-			_ItemTags.put(DefaultFrameWriter.HIGHLIGHT, Item.class.getMethod("getHighlight"));
-			_ItemTags.put(DefaultFrameWriter.FILL_COLOR, Item.class.getMethod("getFillColor"));
-			_ItemTags.put(DefaultFrameWriter.GRADIENT_COLOR, Item.class.getMethod("getGradientColor"));
-			_ItemTags.put(DefaultFrameWriter.GRADIENT_ANGLE, Item.class.getMethod("getGradientAngle"));
-			
-			_ItemTags.put(DefaultFrameWriter.ANCHOR_LEFT, Item.class.getMethod("getAnchorLeft"));
-			_ItemTags.put(DefaultFrameWriter.ANCHOR_RIGHT, Item.class.getMethod("getAnchorRight"));
-			_ItemTags.put(DefaultFrameWriter.ANCHOR_TOP, Item.class.getMethod("getAnchorTop"));
-			_ItemTags.put(DefaultFrameWriter.ANCHOR_BOTTOM, Item.class.getMethod("getAnchorBottom"));
-
-			_ItemTags.put(DefaultFrameWriter.FILL_PATTERN, Item.class.getMethod("getFillPattern"));
-			_ItemTags.put(DefaultFrameWriter.OWNER, Item.class.getMethod("getOwner"));
-			_ItemTags.put(DefaultFrameWriter.LINK_MARK, Item.class.getMethod("getLinkMark"));
-			_ItemTags.put(DefaultFrameWriter.LINK_FRAMESET, Item.class.getMethod("getLinkFrameset"));
-			_ItemTags.put(DefaultFrameWriter.LINK_TEMPLATE, Item.class.getMethod("getLinkTemplate"));
-			_ItemTags.put(DefaultFrameWriter.LINE_PATTERN, Item.class.getMethod("getLinePattern"));
-
-			_ItemTags.put(DefaultFrameWriter.ARROW, Item.class.getMethod("getArrow"));
-			
-			_ItemTags.put(DefaultFrameWriter.DOT_TYPE, Item.class.getMethod("getDotType"));
-			_ItemTags.put(DefaultFrameWriter.FILLED, Item.class.getMethod("getFilled"));
-
-			_ItemTags.put(DefaultFrameWriter.FONT, Text.class.getMethod("getFont"));
-			_ItemTags.put(DefaultFrameWriter.SPACING, Text.class.getMethod("getSpacing"));
-			
-			_ItemTags.put(DefaultFrameWriter.MASK, Text.class.getMethod("getMask"));
+			_ItemCharTags.put(DefaultFrameWriter.TYPE_AND_ID, Item.class.getMethod("getTypeAndID"));
+			_ItemCharTags.put(DefaultFrameWriter.DATE_CREATED, Item.class.getMethod("getDateCreated"));
+			_ItemCharTags.put(DefaultFrameWriter.COLOR, Item.class.getMethod("getColor"));
+			_ItemCharTags.put(DefaultFrameWriter.BACKGROUND_COLOR, Item.class.getMethod("getBackgroundColor"));
+			_ItemCharTags.put(DefaultFrameWriter.BORDER_COLOR, Item.class.getMethod("getBorderColor"));
+
+			_ItemCharTags.put(DefaultFrameWriter.POSITION, Item.class.getMethod("getPosition"));
+			_ItemCharTags.put(DefaultFrameWriter.TEXT, Text.class.getMethod("getText"));
+			_ItemCharTags.put(DefaultFrameWriter.LINK, Item.class.getMethod("getLink"));
+			_ItemCharTags.put(DefaultFrameWriter.ACTION, Item.class.getMethod("getAction"));
+			_ItemCharTags.put(DefaultFrameWriter.ACTION_MARK, Item.class.getMethod("getActionMark"));
+			_ItemCharTags.put(DefaultFrameWriter.ACTION_CURSOR_ENTER, Item.class.getMethod("getActionCursorEnter"));
+			_ItemCharTags.put(DefaultFrameWriter.ACTION_CURSOR_LEAVE, Item.class.getMethod("getActionCursorLeave"));
+			_ItemCharTags.put(DefaultFrameWriter.ACTION_ENTER_FRAME, Item.class.getMethod("getActionEnterFrame"));
+			_ItemCharTags.put(DefaultFrameWriter.ACTION_LEAVE_FRAME, Item.class.getMethod("getActionLeaveFrame"));
+			_ItemCharTags.put(DefaultFrameWriter.DATA, Item.class.getMethod("getData"));
+			_ItemCharTags.put(DefaultFrameWriter.HIGHLIGHT, Item.class.getMethod("getHighlight"));
+			_ItemCharTags.put(DefaultFrameWriter.FILL_COLOR, Item.class.getMethod("getFillColor"));
+			_ItemCharTags.put(DefaultFrameWriter.GRADIENT_COLOR, Item.class.getMethod("getGradientColor"));
+			_ItemCharTags.put(DefaultFrameWriter.GRADIENT_ANGLE, Item.class.getMethod("getGradientAngle"));
+			
+			_ItemCharTags.put(DefaultFrameWriter.ANCHOR_LEFT, Item.class.getMethod("getAnchorLeft"));
+			_ItemCharTags.put(DefaultFrameWriter.ANCHOR_RIGHT, Item.class.getMethod("getAnchorRight"));
+			_ItemCharTags.put(DefaultFrameWriter.ANCHOR_TOP, Item.class.getMethod("getAnchorTop"));
+			_ItemCharTags.put(DefaultFrameWriter.ANCHOR_BOTTOM, Item.class.getMethod("getAnchorBottom"));
+
+			_ItemCharTags.put(DefaultFrameWriter.FILL_PATTERN, Item.class.getMethod("getFillPattern"));
+			_ItemCharTags.put(DefaultFrameWriter.OWNER, Item.class.getMethod("getOwner"));
+			_ItemCharTags.put(DefaultFrameWriter.LINK_MARK, Item.class.getMethod("getLinkMark"));
+			_ItemCharTags.put(DefaultFrameWriter.LINK_FRAMESET, Item.class.getMethod("getLinkFrameset"));
+			_ItemCharTags.put(DefaultFrameWriter.LINK_TEMPLATE, Item.class.getMethod("getLinkTemplate"));
+			_ItemCharTags.put(DefaultFrameWriter.LINE_PATTERN, Item.class.getMethod("getLinePattern"));
+
+			_ItemCharTags.put(DefaultFrameWriter.ARROW, Item.class.getMethod("getArrow"));
+			
+			_ItemCharTags.put(DefaultFrameWriter.DOT_TYPE, Item.class.getMethod("getDotType"));
+			_ItemCharTags.put(DefaultFrameWriter.FILLED, Item.class.getMethod("getFilled"));
+
+			_ItemCharTags.put(DefaultFrameWriter.FONT, Text.class.getMethod("getFont"));
+			_ItemCharTags.put(DefaultFrameWriter.SPACING, Text.class.getMethod("getSpacing"));
+			
+			_ItemCharTags.put(DefaultFrameWriter.MASK, Text.class.getMethod("getMask"));
 
 			// TODO set a boolean flag to indicate that the text is a formula
 			// Store the formula in the text property NOT the answer
-			_ItemTags.put(DefaultFrameWriter.FORMULA, Item.class.getMethod("getFormula"));
-
-			_ItemTags.put(DefaultFrameWriter.WORD_SPACING, Text.class.getMethod("getWordSpacing"));
-			_ItemTags.put(DefaultFrameWriter.LETTER_SPACING, Text.class.getMethod("getLetterSpacing"));
-			_ItemTags.put(DefaultFrameWriter.INITIAL_SPACING, Text.class.getMethod("getInitialSpacing"));
-			_ItemTags.put(DefaultFrameWriter.WIDTH_TO_SAVE, Text.class.getMethod("getWidthToSave"));
-			_ItemTags.put(DefaultFrameWriter.MIN_WIDTH_TO_SAVE, Text.class.getMethod("getMinWidthToSave"));
-			_ItemTags.put(DefaultFrameWriter.JUSTIFICATION, Text.class.getMethod("getJustification"));
-			_ItemTags.put(DefaultFrameWriter.AUTO_WRAP_TO_SAVE, Text.class.getMethod("getAutoWrapToSave"));
-
-			_ItemTags.put(DefaultFrameWriter.THICKNESS, Item.class.getMethod("getThickness"));
-			_ItemTags.put(DefaultFrameWriter.LINE_IDS, Item.class.getMethod("getLineIDs"));
-			_ItemTags.put(DefaultFrameWriter.CONSTRAINT_IDS, Item.class.getMethod("getConstraintIDs"));
-			
-			_ItemTags.put(DefaultFrameWriter.TOOLTIP, Item.class.getMethod("getTooltip"));
-			_ItemTags.put(DefaultFrameWriter.LINK_HISTORY, Item.class.getMethod("getLinkHistory"));
-			
-			_ItemTags.put(DefaultFrameWriter.PERMISSION, Item.class.getMethod("getPermission"));
-
-			_ItemTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_LEFT, Item.class.getMethod("getMagnetizedItemLeft"));
-			_ItemTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_RIGHT, Item.class.getMethod("getMagnetizedItemRight"));
-			_ItemTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_TOP, Item.class.getMethod("getMagnetizedItemTop"));
-			_ItemTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_BOTTOM, Item.class.getMethod("getMagnetizedItemBottom"));
-			
-			_ItemTagsExt.put(DefaultFrameWriter.ENCRYPTION_LABEL_STR, Item.class.getMethod("getEncryptionLabel"));
-			
-			_ItemTagsExt.put(DefaultFrameWriter.PLACEHOLDER_STR, Text.class.getMethod("getPlaceholder"));
-			_ItemTagsExt.put(DefaultFrameWriter.SINGLE_LINE_ONLY_STR, Text.class.getMethod("isSingleLineOnly"));
-			_ItemTagsExt.put(DefaultFrameWriter.TAB_INDEX_STR, Text.class.getMethod("getTabIndex"));
-			_ItemTagsExt.put(DefaultFrameWriter.ACCEPTS_ENTER, Item.class.getMethod("acceptsKeyboardEnter"));
+			_ItemCharTags.put(DefaultFrameWriter.FORMULA, Item.class.getMethod("getFormula"));
+
+			_ItemCharTags.put(DefaultFrameWriter.WORD_SPACING, Text.class.getMethod("getWordSpacing"));
+			_ItemCharTags.put(DefaultFrameWriter.LETTER_SPACING, Text.class.getMethod("getLetterSpacing"));
+			_ItemCharTags.put(DefaultFrameWriter.INITIAL_SPACING, Text.class.getMethod("getInitialSpacing"));
+			_ItemCharTags.put(DefaultFrameWriter.WIDTH_TO_SAVE, Text.class.getMethod("getWidthToSave"));
+			_ItemCharTags.put(DefaultFrameWriter.MIN_WIDTH_TO_SAVE, Text.class.getMethod("getMinWidthToSave"));
+			_ItemCharTags.put(DefaultFrameWriter.JUSTIFICATION, Text.class.getMethod("getJustification"));
+			_ItemCharTags.put(DefaultFrameWriter.AUTO_WRAP_TO_SAVE, Text.class.getMethod("getAutoWrapToSave"));
+
+			_ItemCharTags.put(DefaultFrameWriter.THICKNESS, Item.class.getMethod("getThickness"));
+			_ItemCharTags.put(DefaultFrameWriter.LINE_IDS, Item.class.getMethod("getLineIDs"));
+			_ItemCharTags.put(DefaultFrameWriter.CONSTRAINT_IDS, Item.class.getMethod("getConstraintIDs"));
+			
+			_ItemCharTags.put(DefaultFrameWriter.TOOLTIP, Item.class.getMethod("getTooltip"));
+			_ItemCharTags.put(DefaultFrameWriter.LINK_HISTORY, Item.class.getMethod("getLinkHistory"));
+			
+			_ItemCharTags.put(DefaultFrameWriter.PERMISSION, Item.class.getMethod("getPermission"));
+
+			_ItemCharTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_LEFT, Item.class.getMethod("getMagnetizedItemLeft"));
+			_ItemCharTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_RIGHT, Item.class.getMethod("getMagnetizedItemRight"));
+			_ItemCharTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_TOP, Item.class.getMethod("getMagnetizedItemTop"));
+			_ItemCharTags.put(DefaultFrameWriter.MAGNETIZED_ITEM_BOTTOM, Item.class.getMethod("getMagnetizedItemBottom"));
+			
+			_ItemStrTags.put(DefaultFrameWriter.ENCRYPTION_LABEL_STR, Item.class.getMethod("getEncryptionLabel"));
+			
+			_ItemStrTags.put(DefaultFrameWriter.PLACEHOLDER_STR, Text.class.getMethod("getPlaceholder"));
+			_ItemStrTags.put(DefaultFrameWriter.SINGLE_LINE_ONLY_STR, Text.class.getMethod("isSingleLineOnly"));
+			_ItemStrTags.put(DefaultFrameWriter.TAB_INDEX_STR, Text.class.getMethod("getTabIndex"));
+			_ItemStrTags.put(DefaultFrameWriter.ACCEPTS_ENTER, Item.class.getMethod("acceptsKeyboardEnter"));
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
+		
+		Set<Character> keySet = _ItemCharTags.keySet();
+		for (Character key: keySet) {
+			_ItemTags.put(key + "", _ItemCharTags.get(key));
+		}
+		_ItemTags.putAll(_ItemStrTags);
 	}
 
@@ -428,10 +437,14 @@
 		return "Not Supported";
 	}
+	
+	public static LinkedHashMap<String, Method> getItemTags() {
+		return _ItemTags;
+	}
 
 	/**
 	 * @return the _ItemTags
 	 */
-	public static LinkedHashMap<Character, Method> getItemTags() {
-		return _ItemTags;
+	public static LinkedHashMap<Character, Method> getItemCharTags() {
+		return _ItemCharTags;
 	}
 
@@ -439,6 +452,6 @@
 	 * @return the _ItemTagsExt
 	 */
-	public static LinkedHashMap<String, Method> getItemTagsExt() {
-		return _ItemTagsExt;
+	public static LinkedHashMap<String, Method> getItemStrTags() {
+		return _ItemStrTags;
 	}
 
Index: /trunk/src/org/expeditee/io/ExpWriter.java
===================================================================
--- /trunk/src/org/expeditee/io/ExpWriter.java	(revision 1417)
+++ /trunk/src/org/expeditee/io/ExpWriter.java	(revision 1418)
@@ -88,5 +88,5 @@
 		try {
 			_FrameTags.remove('A');
-			getItemTags().put('S', Item.class.getMethod("getTypeAndID",
+			getItemCharTags().put('S', Item.class.getMethod("getTypeAndID",
 					new Class[] {}));
 		} catch (Exception e) {
@@ -306,6 +306,6 @@
 
 	protected void writeClass(Item toWrite) throws IOException {
-		writeTags(toWrite, new Object[] {}, getItemTags());
-		writeTags(toWrite, new Object[] {}, getItemTagsExt());
+		writeTags(toWrite, new Object[] {}, getItemCharTags());
+		writeTags(toWrite, new Object[] {}, getItemStrTags());
 	}
 
Index: /trunk/src/org/expeditee/io/KMSWriter.java
===================================================================
--- /trunk/src/org/expeditee/io/KMSWriter.java	(revision 1417)
+++ /trunk/src/org/expeditee/io/KMSWriter.java	(revision 1418)
@@ -81,5 +81,5 @@
 		try {
 			_FrameTags.put('A', Frame.class.getMethod("getName", new Class[] {}));
-			getItemTags().put('S', Item.class.getMethod("getID", new Class[] {}));
+			getItemCharTags().put('S', Item.class.getMethod("getID", new Class[] {}));
 		} catch (Exception e) {
 
@@ -258,10 +258,10 @@
 
 	private void writeClass(Object toWrite) throws IOException {
-		Iterator<Character> it = getItemTags().keySet().iterator();
+		Iterator<Character> it = getItemCharTags().keySet().iterator();
 		Object[] param = {};
 
 		while (it.hasNext()) {
 			Character tag = it.next();
-			Method toRun = getItemTags().get(tag);
+			Method toRun = getItemCharTags().get(tag);
 			Class<?> declarer = toRun.getDeclaringClass();
 			if (declarer.isAssignableFrom(toWrite.getClass())) {
Index: /trunk/src/org/expeditee/items/Item.java
===================================================================
--- /trunk/src/org/expeditee/items/Item.java	(revision 1417)
+++ /trunk/src/org/expeditee/items/Item.java	(revision 1418)
@@ -334,15 +334,10 @@
 	{
 		EncryptionDetail unencryptedOnSave = new EncryptionDetail(EncryptionDetail.Type.UnencryptedOnSave);
-		for(Character tag: DefaultFrameWriter.getItemTags().keySet()) {
-			if (tag == 'T' || tag == 'S') {
-				surrogatePropertyInheritanceDefault.put(tag + "", false);
+		for (String tag: DefaultFrameWriter.getItemTags().keySet()) {
+			if (tag == "T" || tag == "S") {
+				surrogatePropertyInheritanceDefault.put(tag, false);
 			} else {
-				surrogatePropertyInheritanceDefault.put(tag + "", true);
-			}
-			primaryPropertyEncryptionDefault.put(tag + "", unencryptedOnSave);
-		}
-		
-		for(String tag: DefaultFrameWriter.getItemTagsExt().keySet()) {
-			surrogatePropertyInheritanceDefault.put(tag, true);
+				surrogatePropertyInheritanceDefault.put(tag, true);
+			}
 			primaryPropertyEncryptionDefault.put(tag, unencryptedOnSave);
 		}
@@ -4129,5 +4124,5 @@
 		EncryptionDetail inheritanceCheckOnSave = new EncryptionDetail(EncryptionDetail.Type.InheritanceCheckOnSave);
 		
-		for (Character tag: DefaultFrameWriter.getItemTags().keySet()) {
+		for (Character tag: DefaultFrameWriter.getItemCharTags().keySet()) {
 			if (tag == 'T') {
 				primaryPropertyEncryption.put(tag + "", reencryptOnSave.clone());
@@ -4143,5 +4138,5 @@
 		}
 		
-		for (String tag: DefaultFrameWriter.getItemTagsExt().keySet()) {
+		for (String tag: DefaultFrameWriter.getItemStrTags().keySet()) {
 			primaryPropertyEncryption.put(tag, inheritanceCheckOnSave.clone());
 			surrogate.surrogatePropertyInheritance.put(tag + "", true);
