Index: trunk/src/org/expeditee/auth/Actions.java
===================================================================
--- trunk/src/org/expeditee/auth/Actions.java	(revision 1226)
+++ trunk/src/org/expeditee/auth/Actions.java	(revision 1227)
@@ -42,6 +42,17 @@
 	/**
 	 * Display Expeditee Mail
-	 */
-	public static void MailMode() {
+	 * @throws IOException 
+	 * @throws SQLException 
+	 * @throws ClassNotFoundException 
+	 * @throws CertificateException 
+	 * @throws NoSuchAlgorithmException 
+	 * @throws FileNotFoundException 
+	 * @throws KeyStoreException 
+	 */
+	public static void MailMode() throws KeyStoreException, FileNotFoundException, NoSuchAlgorithmException, CertificateException, ClassNotFoundException, SQLException, IOException {
+		if (!DisplayController.isMailMode()) {
+			Mail.clear();
+			Authenticator.getInstance().loadMailDatabase();
+		}
 		DisplayController.ToggleMailMode();
 	}
@@ -375,4 +386,5 @@
 				Frame frame = FrameIO.LoadFrame(profile.getFramesetName() + i);
 				frame.setOwner(username);
+				frame.setEncryptionLabel("Profile");
 				Collection<Item> items = frame.getAllItems();
 				for (Item item: items) {
Index: trunk/src/org/expeditee/auth/EncryptedExpReader.java
===================================================================
--- trunk/src/org/expeditee/auth/EncryptedExpReader.java	(revision 1226)
+++ trunk/src/org/expeditee/auth/EncryptedExpReader.java	(revision 1227)
@@ -12,6 +12,4 @@
 import java.util.Arrays;
 import java.util.Base64;
-import java.util.List;
-import java.util.stream.Collectors;
 
 import javax.crypto.BadPaddingException;
@@ -26,17 +24,17 @@
 import org.expeditee.items.Text;
 import org.expeditee.settings.auth.secrets.KeyList;
-import org.ngikm.Util.ThrowingFunction;
 import org.ngikm.cryptography.CryptographyConstants;
+
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
 public class EncryptedExpReader extends ExpReader implements CryptographyConstants {
 	static final String ENCRYPTED_EXP_FLAG = "EncryptedExp";
 	private SecretKey personalKey;
-	private List<SecretKey> multiKey;
+	//private List<SecretKey> multiKey;
 	private boolean accessDenied = false;
-	private boolean usePersonalKey;
-	
-	public EncryptedExpReader(final String frameName, final boolean usePersonalKey) throws UnsupportedEncodingException {
+	//private boolean usePersonalKey;
+
+	public EncryptedExpReader(final String frameName) throws UnsupportedEncodingException {
 		super(frameName);
-		this.usePersonalKey = usePersonalKey;
 	}
 	
@@ -50,10 +48,10 @@
 	public int getVersionEnc(String fullpath) {
 		try {
-			BufferedReader reader;
-			if (usePersonalKey) {
-				reader = new EncryptedProfileLineReader(new BufferedReader(new FileReader(fullpath)));
-			} else {
-				reader = new EncryptedLineReader(new BufferedReader(new FileReader(fullpath)));
-			}
+			BufferedReader reader = new EncryptedLineReader(new BufferedReader(new FileReader(fullpath)));
+			//if (usePersonalKey) {
+			//	reader = new EncryptedProfileLineReader(new BufferedReader(new FileReader(fullpath)));
+			//} else {
+			//	reader = new EncryptedLineReader(new BufferedReader(new FileReader(fullpath)));
+			//}
 			String next = "";
 			// First read the header lines until we get the version number
@@ -76,10 +74,11 @@
 	@Override
 	public Frame readFrame(final String fullPath) throws IOException {
-		final Reader in = new InputStreamReader(new FileInputStream(fullPath), "UTF-8");
-		if (usePersonalKey) {
-			return readFrame(new EncryptedProfileLineReader(new BufferedReader(in)));
-		} else {
-			return readFrame(new EncryptedLineReader(new BufferedReader(in)));
-		}
+		Reader in = new InputStreamReader(new FileInputStream(fullPath), "UTF-8");
+		return readFrame(new EncryptedLineReader(in));
+		//if (usePersonalKey) {
+		//	return readFrame(new EncryptedProfileLineReader(new BufferedReader(in)));
+		//} else {
+		//	return readFrame(new EncryptedLineReader(new BufferedReader(in)));
+		//}
 	}
 	
@@ -111,7 +110,6 @@
 	}
 	
-	private class EncryptedProfileLineReader extends BufferedReader {
-
-		public EncryptedProfileLineReader(final Reader in) {
+	private class EncryptedLineReader extends BufferedReader {
+		public EncryptedLineReader(Reader in) {
 			super(in);
 		}
@@ -119,87 +117,140 @@
 		@Override
 		/**
-		 * Reads a line from an encrypted exp file that uses profile encryption (single key; personal key)
-		 * Returns that line to process, null if the currently logged in users personal key is not the appropriate one (access denied).
+		 * Reads a line from an encrypted exp file that uses an encryption specified by the first line of the file.
+		 * Returns that line to process, null if the currently logged in users doesn't own the appropriate key (access denied).
 		 */
 		public String readLine() throws IOException {
-			// read encrypted line
-			final String line = super.readLine();
+			String line = super.readLine();
 			
-			if (line.isEmpty()) { return ""; }
+			if (line.isEmpty()) {
+				return "";
+			}
 			if (line.startsWith(ENCRYPTED_EXP_FLAG)) {
-				// record/overwrite previous personal key then ignore this line by recursing
-				final Text text = KeyList.PersonalKey.get();
-				final byte[] keyBytes = Base64.getDecoder().decode(text.getData().get(0));
-				personalKey = new SecretKeySpec(keyBytes, SymmetricAlgorithm);
-				return readLine();
+				String label = line.replace(ENCRYPTED_EXP_FLAG, "");
+				// if using Profile label, use personal key
+				if (label.startsWith("Profile")) {
+					Text text = KeyList.PersonalKey.get();
+					byte[] keyBytes = Base64.getDecoder().decode(text.getData().get(0));
+					personalKey = new SecretKeySpec(keyBytes, SymmetricAlgorithm);
+					return readLine();
+				} else {
+					// TODO: resolve encryption label, what does this mean?
+					personalKey = resolveLabel(label);
+					return readLine();
+				}
 			}
 			
 			// decrypt line and return result
-			final byte[] toDecrypt = Base64.getDecoder().decode(line);
-			final byte[] decrypted = DecryptSymmetric(toDecrypt, personalKey);
+			byte[] toDecrypt = Base64.getDecoder().decode(line);
+			byte[] decrypted = DecryptSymmetric(toDecrypt, personalKey);
 			if (decrypted == null) {
 				accessDenied = true;
 				return null; // access denied
 			} else {
-				final String decryptedLine = new String(decrypted);
-				if (decryptedLine.startsWith("Z")) { return decryptedLine.trim(); }
-				else { return decryptedLine; }
-			}
-		}	
-	}
-	
-	private class EncryptedLineReader extends BufferedReader {
+				String decryptedLine = new String(decrypted);
+				if (decryptedLine.startsWith("Z")) { 
+					return decryptedLine.trim();
+				} else { 
+					return decryptedLine;
+				}
+			}
+		}
 		
-		public EncryptedLineReader(final Reader in) {
-			super(in);
-		}
-		
-		@Override
-		/**
-		 * Reads a line from an encrypted exp file that uses (potentially multiple) labeled keys
-		 * Returns that line to process, null if the ...
-		 */
-		public String readLine() throws IOException {
-			// read encrypted line
-			final String line = super.readLine();
-			
-			if (line.isEmpty()) { return ""; }
-			if (line.startsWith(ENCRYPTED_EXP_FLAG)) {
-				// resolve labels to secret keys
-				final List<String> labels = Arrays.asList(line.split(" ")).stream().skip(1).collect(Collectors.toList());
-				final ThrowingFunction<String, SecretKey, Exception> worker = new ThrowingFunction<String, SecretKey, Exception>() {
-					@Override
-					public SecretKey applyThrows(final String label) throws Exception {
-						return Authenticator.getInstance().getSecretKey(label, System.getProperty("password"));
-					}
-				};
-				multiKey = labels.stream().map(l -> {
-					try {
-						return worker.apply(l);
-					} catch (final Exception e) {
-						return null;
-					}
-				}).collect(Collectors.toList());
-				
-				// confirm you have all the keys necessary for decryption
-				if (multiKey.contains(null)) {
-					return null;
-				}
-				
-				// move onto the next line
-				return readLine();
-			}
-			
-			// decrypt line and return result
-			final byte[] toDecrypt = Base64.getDecoder().decode(line);
-			byte[] decryptedBytes = null;
-			for (final SecretKey key: multiKey) {
-				decryptedBytes = DecryptSymmetric(toDecrypt, key);
-				if (decryptedBytes == null) { return null; }
-			}
-			final String decrypted = new String(decryptedBytes);
-			if (decrypted.startsWith("Z")) { return decrypted.trim(); }
-			else { return decrypted; }
-		}
-	}
+		private SecretKeySpec resolveLabel(String label) {
+			throw new NotImplementedException();
+		}
+	}
+	
+//	private class EncryptedProfileLineReader extends BufferedReader {
+//
+//		public EncryptedProfileLineReader(final Reader in) {
+//			super(in);
+//		}
+//		
+//		@Override
+//		/**
+//		 * Reads a line from an encrypted exp file that uses profile encryption (single key; personal key)
+//		 * Returns that line to process, null if the currently logged in users personal key is not the appropriate one (access denied).
+//		 */
+//		public String readLine() throws IOException {
+//			// read encrypted line
+//			final String line = super.readLine();
+//			
+//			if (line.isEmpty()) { return ""; }
+//			if (line.startsWith(ENCRYPTED_EXP_FLAG)) {
+//				// record/overwrite previous personal key then ignore this line by recursing
+//				final Text text = KeyList.PersonalKey.get();
+//				final byte[] keyBytes = Base64.getDecoder().decode(text.getData().get(0));
+//				personalKey = new SecretKeySpec(keyBytes, SymmetricAlgorithm);
+//				return readLine();
+//			}
+//			
+//			// decrypt line and return result
+//			final byte[] toDecrypt = Base64.getDecoder().decode(line);
+//			final byte[] decrypted = DecryptSymmetric(toDecrypt, personalKey);
+//			if (decrypted == null) {
+//				accessDenied = true;
+//				return null; // access denied
+//			} else {
+//				final String decryptedLine = new String(decrypted);
+//				if (decryptedLine.startsWith("Z")) { return decryptedLine.trim(); }
+//				else { return decryptedLine; }
+//			}
+//		}	
+//	}
+//	
+//	private class EncryptedLineReader extends BufferedReader {
+//		
+//		public EncryptedLineReader(final Reader in) {
+//			super(in);
+//		}
+//		
+//		@Override
+//		/**
+//		 * Reads a line from an encrypted exp file that uses (potentially multiple) labeled keys
+//		 * Returns that line to process, null if the ...
+//		 */
+//		public String readLine() throws IOException {
+//			// read encrypted line
+//			final String line = super.readLine();
+//			
+//			if (line.isEmpty()) { return ""; }
+//			if (line.startsWith(ENCRYPTED_EXP_FLAG)) {
+//				// resolve labels to secret keys
+//				final List<String> labels = Arrays.asList(line.split(" ")).stream().skip(1).collect(Collectors.toList());
+//				final ThrowingFunction<String, SecretKey, Exception> worker = new ThrowingFunction<String, SecretKey, Exception>() {
+//					@Override
+//					public SecretKey applyThrows(final String label) throws Exception {
+//						return Authenticator.getInstance().getSecretKey(label, System.getProperty("password"));
+//					}
+//				};
+//				multiKey = labels.stream().map(l -> {
+//					try {
+//						return worker.apply(l);
+//					} catch (final Exception e) {
+//						return null;
+//					}
+//				}).collect(Collectors.toList());
+//				
+//				// confirm you have all the keys necessary for decryption
+//				if (multiKey.contains(null)) {
+//					return null;
+//				}
+//				
+//				// move onto the next line
+//				return readLine();
+//			}
+//			
+//			// decrypt line and return result
+//			final byte[] toDecrypt = Base64.getDecoder().decode(line);
+//			byte[] decryptedBytes = null;
+//			for (final SecretKey key: multiKey) {
+//				decryptedBytes = DecryptSymmetric(toDecrypt, key);
+//				if (decryptedBytes == null) { return null; }
+//			}
+//			final String decrypted = new String(decryptedBytes);
+//			if (decrypted.startsWith("Z")) { return decrypted.trim(); }
+//			else { return decrypted; }
+//		}
+//	}
 }
Index: trunk/src/org/expeditee/auth/EncryptedExpWriter.java
===================================================================
--- trunk/src/org/expeditee/auth/EncryptedExpWriter.java	(revision 1227)
+++ trunk/src/org/expeditee/auth/EncryptedExpWriter.java	(revision 1227)
@@ -0,0 +1,84 @@
+package org.expeditee.auth;
+
+import java.io.IOException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Arrays;
+import java.util.Base64;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+
+import org.expeditee.io.ExpWriter;
+import org.expeditee.items.Text;
+import org.expeditee.settings.auth.secrets.KeyList;
+import org.ngikm.cryptography.CryptographyConstants;
+
+public class EncryptedExpWriter extends ExpWriter implements CryptographyConstants {
+	private SecretKey key;
+	private String label;
+	private static final String nl = "\n";
+	
+	public EncryptedExpWriter(String encryptionLabel) throws IOException {
+		if (encryptionLabel.compareTo("Profile") == 0) {
+			// obtain personal key
+			Text text = KeyList.PersonalKey.get();
+			byte[] keyBytes = Base64.getDecoder().decode(text.getData().get(0));
+			key = new SecretKeySpec(keyBytes, SymmetricAlgorithm);
+			label = "Profile";
+		} else {
+			byte[] keyBytes = resolveKeyFromLabel(encryptionLabel);
+			key = new SecretKeySpec(keyBytes, SymmetricAlgorithm);
+			label = encryptionLabel;
+		}
+	}
+
+	@Override
+	protected void preOutputFrame() {
+		try {
+			String line = EncryptedExpReader.ENCRYPTED_EXP_FLAG + label + nl;
+			_writer.write(line);
+			_stringWriter.append(line);
+		} catch (final IOException e) { 
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	protected void writeLine(String line) throws IOException {
+		// do not write empty lines
+		if (line == null) { return; }
+		
+		// prepare line to write out
+		byte[] encrypted = EncryptSymmetric(line.getBytes(), key);
+		String toWrite = Base64.getEncoder().encodeToString(encrypted) + nl;
+		
+		// output
+		_writer.write(toWrite);
+		_stringWriter.append(toWrite);
+	}
+	
+	private byte[] resolveKeyFromLabel(String label) {
+		return null;
+	}
+	
+	private static byte[] EncryptSymmetric(byte[] toEncrypt, SecretKey key) {
+		try {
+			Cipher cipher = Cipher.getInstance(SymmetricAlgorithm + SymmetricAlgorithmParameters);
+			cipher.init(Cipher.ENCRYPT_MODE, key);
+			//could use modulus
+			int length = (int) ((Math.ceil(toEncrypt.length / 16f)) * 16);
+			byte[] toEncryptSizeAdjusted = Arrays.copyOf(toEncrypt, length);
+			byte[] result = cipher.doFinal(toEncryptSizeAdjusted);
+			return result;
+		} catch (final NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException
+				| IllegalBlockSizeException | BadPaddingException e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
+}
Index: trunk/src/org/expeditee/auth/EncryptedProfileExpWriter.java
===================================================================
--- trunk/src/org/expeditee/auth/EncryptedProfileExpWriter.java	(revision 1226)
+++ 	(revision )
@@ -1,72 +1,0 @@
-package org.expeditee.auth;
-
-import java.io.IOException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.util.Arrays;
-import java.util.Base64;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
-
-import org.expeditee.io.ExpWriter;
-import org.expeditee.items.Text;
-import org.expeditee.settings.auth.secrets.KeyList;
-import org.ngikm.cryptography.CryptographyConstants;
-
-public class EncryptedProfileExpWriter extends ExpWriter implements CryptographyConstants {
-	private SecretKey personalKey;
-	private static final String nl = "\n";
-	
-	public EncryptedProfileExpWriter() throws IOException {
-		// obtain personal key
-		final Text text = KeyList.PersonalKey.get();
-		final byte[] keyBytes = Base64.getDecoder().decode(text.getData().get(0));
-		personalKey = new SecretKeySpec(keyBytes, SymmetricAlgorithm);		
-	}
-
-	@Override
-	protected void preOutputFrame() {
-		try {
-			final String line = EncryptedExpReader.ENCRYPTED_EXP_FLAG + nl;
-			_writer.write(line);
-			_stringWriter.append(line);
-		} catch (final IOException e) { 
-			e.printStackTrace();
-		}
-	}
-	
-	@Override
-	protected void writeLine(String line) throws IOException {
-		// do not write empty lines
-		if (line == null) { return; }
-		
-		// prepare line to write out
-		final byte[] encrypted = EncryptSymmetric(line.getBytes(), personalKey);
-		final String toWrite = Base64.getEncoder().encodeToString(encrypted) + nl;
-		
-		// output
-		_writer.write(toWrite);
-		_stringWriter.append(toWrite);
-	}
-	
-	private static byte[] EncryptSymmetric(final byte[] toEncrypt, final SecretKey key) {
-		try {
-			final Cipher cipher = Cipher.getInstance(SymmetricAlgorithm + SymmetricAlgorithmParameters);
-			cipher.init(Cipher.ENCRYPT_MODE, key);
-			//could use modulus
-			final int length = (int) ((Math.ceil(toEncrypt.length / 16f)) * 16);
-			final byte[] toEncryptSizeAdjusted = Arrays.copyOf(toEncrypt, length);
-			final byte[] result = cipher.doFinal(toEncryptSizeAdjusted);
-			return result;
-		} catch (final NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException
-				| IllegalBlockSizeException | BadPaddingException e) {
-			e.printStackTrace();
-			return null;
-		}
-	}
-}
Index: trunk/src/org/expeditee/gui/AttributeUtils.java
===================================================================
--- trunk/src/org/expeditee/gui/AttributeUtils.java	(revision 1226)
+++ trunk/src/org/expeditee/gui/AttributeUtils.java	(revision 1227)
@@ -197,9 +197,13 @@
 			_FrameAttrib.put("BackgroundColor", Frame.class.getMethod("getBackgroundColor"),
 			                                    Frame.class.getMethod("setBackgroundColor", pColor));
+			_FrameAttrib.put("EncryptionLabel", Frame.class.getMethod("getEncryptionLabel"), 
+												Frame.class.getMethod("setEncryptionLabel", pString));
+			
 			
 			// aliases for attribute setting
-			_FrameAttrib.alias("fgc",        "foregroundcolor");
-			_FrameAttrib.alias("bgc",        "backgroundcolor");
-			_FrameAttrib.alias("p",          "permission");
+			_FrameAttrib.alias("fgc",       "foregroundcolor");
+			_FrameAttrib.alias("bgc",       "backgroundcolor");
+			_FrameAttrib.alias("p",         "permission");
+			_FrameAttrib.alias("enc", 		"encryptionlabel");
 			
 			
Index: trunk/src/org/expeditee/gui/Frame.java
===================================================================
--- trunk/src/org/expeditee/gui/Frame.java	(revision 1226)
+++ trunk/src/org/expeditee/gui/Frame.java	(revision 1227)
@@ -163,4 +163,6 @@
 	private Collection<FrameObserver> _observers = new HashSet<FrameObserver>();
 
+	private String _encryptionLabel;
+
 	/** Default constructor, nothing is set. */
 	public Frame()
@@ -2622,6 +2624,5 @@
 	}
 
-	public Collection<? extends Item> getInteractableItems()
-	{
+	public Collection<? extends Item> getInteractableItems() {
 		/*
 		 * TODO: Cache the interactableItems list so we dont have to recreate it
@@ -2655,4 +2656,12 @@
 		return _interactableItems;
 	}
+	
+	public String getEncryptionLabel() {
+		return _encryptionLabel;
+	}
+	
+	public void setEncryptionLabel(String label) {
+		_encryptionLabel = label;
+	}
 
 	private static final class History {
Index: trunk/src/org/expeditee/gui/FrameIO.java
===================================================================
--- trunk/src/org/expeditee/gui/FrameIO.java	(revision 1226)
+++ trunk/src/org/expeditee/gui/FrameIO.java	(revision 1227)
@@ -43,5 +43,5 @@
 import org.expeditee.auth.Authenticator;
 import org.expeditee.auth.EncryptedExpReader;
-import org.expeditee.auth.EncryptedProfileExpWriter;
+import org.expeditee.auth.EncryptedExpWriter;
 import org.expeditee.auth.gui.MailBay;
 import org.expeditee.io.Conversion;
@@ -92,4 +92,6 @@
 		STATISTICS_DIR = PARENT_FOLDER + "statistics" + File.separator;
 		LOGS_DIR = PARENT_FOLDER + "logs" + File.separator;
+		SHARED_BY_ME_FRAMESETS = PARENT_FOLDER + "framesets-shared-by-me" + File.separator;
+		SHARED_WITH_ME_FRAMESETS = PARENT_FOLDER + "framesets-shared-with-me" + File.separator;
 	}
 
@@ -125,4 +127,8 @@
 
 	public static String STATISTICS_DIR;
+	
+	public static String SHARED_BY_ME_FRAMESETS;
+	
+	public static String SHARED_WITH_ME_FRAMESETS;
 
 	public static String LOGS_DIR;
@@ -475,6 +481,7 @@
 			if (fullPath.endsWith(ExpReader.EXTENTION)) {
 				if (EncryptedExpReader.isEncryptedExpediteeFile(fullPath)) {
-					final boolean isProfile = frameName.startsWith(UserSettings.UserName.get());
-					reader = new EncryptedExpReader(frameName, isProfile);
+					//final boolean isProfile = frameName.startsWith(UserSettings.UserName.get());
+					//reader = new EncryptedExpReader(frameName, isProfile);
+					reader = new EncryptedExpReader(frameName);
 				} else {
 					reader = new ExpReader(frameName);
@@ -1006,9 +1013,8 @@
 			// if its a new frame or an existing Exp frame...
 			if (fullPath == null || fullPath.endsWith(ExpReader.EXTENTION)) {
-				//Frame currentFrame = DisplayController.getCurrentFrame();
 				if (UserSettings.Authenticated.get() && 
-						toSave.getName().startsWith(UserSettings.UserName.get()) && 
-						toSave.getNumber() != Authenticator.PUBLIC_KEY_FRAME) {
-					writer = new EncryptedProfileExpWriter();
+						toSave.getNumber() != Authenticator.PUBLIC_KEY_FRAME && 
+						toSave.getEncryptionLabel() != null) {
+					writer = new EncryptedExpWriter(toSave.getEncryptionLabel());
 					savedVersion = EncryptedExpReader.getVersion(fullPath);
 				} else {
Index: trunk/src/org/expeditee/settings/UserSettings.java
===================================================================
--- trunk/src/org/expeditee/settings/UserSettings.java	(revision 1226)
+++ trunk/src/org/expeditee/settings/UserSettings.java	(revision 1227)
@@ -264,4 +264,6 @@
 		FolderSettings.FrameDirs.get().add(FrameIO.HELP_PATH);
 		FolderSettings.FrameDirs.get().add(FrameIO.MESSAGES_PATH);
+		FolderSettings.FrameDirs.get().add(FrameIO.SHARED_BY_ME_FRAMESETS);
+		FolderSettings.FrameDirs.get().add(FrameIO.SHARED_WITH_ME_FRAMESETS);
 		FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
 		FolderSettings.ImageDirs.get().add(FrameIO.IMAGES_PATH);
