Index: AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 606)
@@ -9,7 +9,7 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Scanner;
+import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.Vector;
@@ -146,5 +146,5 @@
 	private static void combineBinaryFiles(List<File> srcFoldersFiles,
 			InstallProgressListener listener) {
-		HashMap<String, Vector<File>> levels = new HashMap<String, Vector<File>>();
+		TreeMap<String, Vector<File>> levels = new TreeMap<String, Vector<File>>();
 
 		for (File path : srcFoldersFiles) {
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 606)
@@ -83,4 +83,6 @@
 	private JLabel lblSubmitterVal;
 	private JLabel lblCreatorVal;
+	private JLabel lblTypesVal;
+	private JLabel lblPlatformVal;
 	private HTMLLinkLabel lblDescriptionVal;
 
@@ -151,8 +153,6 @@
 		sorter.setRowFilter(new ModTableFilter(null));
 
-		sorter.setSortable(2, false);
-
 		List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
-		sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
+		sortKeys.add(new RowSorter.SortKey(1, SortOrder.ASCENDING));
 		sorter.setSortKeys(sortKeys);
 
@@ -160,8 +160,4 @@
 			model.setColumnConstraints(i, tblMods.getColumnModel().getColumn(i));
 		}
-
-		// for (int i = 3; i > 0; i--) {
-		// tblMods.getColumnModel().removeColumn(tblMods.getColumnModel().getColumn(i));
-		// }
 	}
 
@@ -325,5 +321,5 @@
 			while (!m.isFinished()) {
 				try {
-					Thread.sleep(50);
+					Thread.sleep(10);
 				} catch (InterruptedException e) {
 					// TODO Auto-generated catch block
@@ -390,10 +386,10 @@
 				}
 			});
-		}
-
-		JOptionPane.showMessageDialog(this,
-				bundle.getString("installDone.text"),
-				bundle.getString("installDone.title"),
-				JOptionPane.INFORMATION_MESSAGE);
+
+			JOptionPane.showMessageDialog(this,
+					bundle.getString("installDone.text"),
+					bundle.getString("installDone.title"),
+					JOptionPane.INFORMATION_MESSAGE);
+		}
 	}
 
@@ -402,8 +398,19 @@
 		lblCreatorVal.setText("");
 		lblDescriptionVal.setText("");
+		lblTypesVal.setText("");
+		lblPlatformVal.setText("");
 		if (m != null) {
 			lblSubmitterVal.setText(m.getName());
 			lblCreatorVal.setText(m.getCreator());
 			lblDescriptionVal.setText(m.getDescription());
+
+			String types = "";
+			for (Type t : m.getTypes()) {
+				if (types.length() > 0)
+					types += ", ";
+				types += t.getName();
+			}
+			lblTypesVal.setText(types);
+			lblPlatformVal.setText(m.getPlatform().toString());
 		}
 		// TODO
@@ -446,5 +453,5 @@
 		}
 	}
-	
+
 	private Vector<String> getBasicOniLaunchParams() {
 		Vector<String> params = new Vector<String>();
@@ -479,5 +486,7 @@
 		if (params.size() > 0) {
 			try {
-				new ProcessBuilder(params).start();
+				ProcessBuilder pb = new ProcessBuilder(params);
+				pb.directory(Paths.getEditionBasePath());
+				pb.start();
 			} catch (IOException e) {
 				// TODO Auto-generated catch block
@@ -493,5 +502,7 @@
 			params.add("-noswitch");
 			try {
-				new ProcessBuilder(params).start();
+				ProcessBuilder pb = new ProcessBuilder(params);
+				pb.directory(Paths.getEditionBasePath());
+				pb.start();
 			} catch (IOException e) {
 				// TODO Auto-generated catch block
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties	(revision 606)
@@ -34,4 +34,6 @@
 lblSubmitter.text=Submitter:
 lblCreator.text=Creator:
+lblTypes.text=Types:
+lblPlatform.text=Platform:
 lblFiles.text=Number of files:
 lblDescription.text=Description:
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 606)
@@ -60,4 +60,8 @@
             - JLabel(name=lblCreator, text=lblCreator.text)
             - JLabel(name=lblCreatorVal)
+            - JLabel(name=lblTypes, text=lblTypes.text)
+            - JLabel(name=lblTypesVal)
+            - JLabel(name=lblPlatform, text=lblPlatform.text)
+            - JLabel(name=lblPlatformVal)
             - JLabel(name=lblDescription, text=lblDescription.text)
             - JScrollPane(name=scrollDescription, vScrollBar=always, hScrollBar=asNeeded):
@@ -67,4 +71,6 @@
                  >lblSubmitter     lblSubmitterVal    [min]
                  >lblCreator       lblCreatorVal      [min]
+                 >lblTypes         lblTypesVal        [min]
+                 >lblPlatform      lblPlatformVal     [min]
                  >^lblDescription  scrollDescription  [grow]
     - MigLayout:
Index: AE/installer2/src/net/oni2/aeinstaller/gui/downloadwindow/Downloader.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/downloadwindow/Downloader.java	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/downloadwindow/Downloader.java	(revision 606)
@@ -1,5 +1,4 @@
 package net.oni2.aeinstaller.gui.downloadwindow;
 
-import java.awt.Dimension;
 import java.util.ResourceBundle;
 import java.util.TreeSet;
@@ -46,6 +45,6 @@
 		super();
 
-		setMinimumSize(new Dimension(350, (int) getSize().getHeight()));
-		setSize(450, (int) getSize().getHeight());
+		setResizable(false);
+		setSize(500, (int) getSize().getHeight());
 
 		downloader = new ModDownloader(mods, this);
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 606)
@@ -12,5 +12,4 @@
 import net.oni2.aeinstaller.backend.mods.Mod;
 import net.oni2.aeinstaller.backend.mods.ModManager;
-import net.oni2.aeinstaller.backend.mods.Type;
 
 /**
@@ -43,19 +42,9 @@
 				return mod;
 			case 0:
+				return install.get(row);
+			case 1:
 				return mod.getName();
-			case 1:
+			case 2:
 				return mod.getPackageNumberString();
-			case 2:
-				String type = "";
-				for (Type t : mod.getTypes()) {
-					if (type.length() > 0)
-						type += ", ";
-					type += t.getName();
-				}
-				return type;
-			case 3:
-				return mod.getPlatform().toString();
-			case 4:
-				return install.get(row);
 		}
 		return null;
@@ -66,13 +55,9 @@
 		switch (col) {
 			case 0:
+				return bundle.getString("mod.install");
+			case 1:
 				return bundle.getString("mod.name");
-			case 1:
+			case 2:
 				return bundle.getString("mod.package_number");
-			case 2:
-				return bundle.getString("mod.type");
-			case 3:
-				return bundle.getString("mod.platform");
-			case 4:
-				return bundle.getString("mod.install");
 		}
 		return null;
@@ -86,5 +71,5 @@
 	@Override
 	public int getColumnCount() {
-		return 5;
+		return 3;
 	}
 
@@ -93,13 +78,9 @@
 		switch (col) {
 			case 0:
+				return Boolean.class;
+			case 1:
 				return String.class;
-			case 1:
+			case 2:
 				return String.class;
-			case 2:
-				return String.class;
-			case 3:
-				return String.class;
-			case 4:
-				return Boolean.class;
 		}
 		return null;
@@ -118,23 +99,14 @@
 		switch (colNum) {
 			case 0:
-				col.setPreferredWidth(150);
-				break;
-			case 1:
-				w = 55;
+				w = 50;
 				col.setPreferredWidth(w);
 				col.setMinWidth(w);
 				col.setMaxWidth(w);
 				break;
-			case 2:
-				col.setPreferredWidth(100);
+			case 1:
+				col.setPreferredWidth(150);
 				break;
-			case 3:
-				w = 70;
-				col.setPreferredWidth(w);
-				col.setMinWidth(w);
-				col.setMaxWidth(w);
-				break;
-			case 4:
-				w = 60;
+			case 2:
+				w = 55;
 				col.setPreferredWidth(w);
 				col.setMinWidth(w);
@@ -204,5 +176,5 @@
 	@Override
 	public boolean isCellEditable(int rowIndex, int columnIndex) {
-		return columnIndex == 4;
+		return columnIndex == 0;
 	}
 
@@ -210,5 +182,5 @@
 	public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
 		super.setValueAt(aValue, rowIndex, columnIndex);
-		if (columnIndex == 4) {
+		if (columnIndex == 0) {
 			install.set(rowIndex, (Boolean) aValue);
 
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.properties	(revision 605)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.properties	(revision 606)
@@ -1,5 +1,3 @@
 mod.name=Name
-mod.type=Type
 mod.package_number=Pkg#
-mod.platform=Platform
-mod.install=Install?
+mod.install=Install
