Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 645)
@@ -1,2 +1,2 @@
 appname=AE Installer 2
-appversion=0.99
+appversion=0.99b
Index: AE/installer2/src/net/oni2/aeinstaller/Images.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/Images.properties	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/Images.properties	(revision 645)
@@ -1,23 +1,5 @@
-img.connect=/net/oni2/aeinstaller/images/tango/network-idle.png
-img.disconnect=/net/oni2/aeinstaller/images/tango/network-offline.png
-img.manageExams=/net/oni2/aeinstaller/images/tango/document-open.png
-img.manageMembers=/net/oni2/aeinstaller/images/tango/contact-new.png
-img.print=/net/oni2/aeinstaller/images/tango/document-print.png
-img.edit=/net/oni2/aeinstaller/images/tango/text-editor.png
-img.delete=/net/oni2/aeinstaller/images/tango/list-remove.png
-img.add=/net/oni2/aeinstaller/images/tango/list-add.png
-img.refresh=/net/oni2/aeinstaller/images/tango/go-jump.png
-img.sale=/net/oni2/aeinstaller/images/tango/accessories-calculator.png
-img.orders=/net/oni2/aeinstaller/images/tango/bookmark-new.png
-
-img.pause=/net/oni2/aeinstaller/images/open_icon_library/media-playback-pause-7.png
-img.stop=/net/oni2/aeinstaller/images/open_icon_library/media-playback-stop-7.png
-img.selectfolder=/net/oni2/aeinstaller/images/open_icon_library/folder-explore.png
-img.downloadFolder=/net/oni2/aeinstaller/images/open_icon_library/folder-games.png
-
 img.openFile=/net/oni2/aeinstaller/images/tango/document-open.png
 img.saveFile=/net/oni2/aeinstaller/images/tango/document-save-as.png
 img.settings=/net/oni2/aeinstaller/images/tango/preferences-system.png
-img.about=/net/oni2/aeinstaller/images/open_icon_library/help-about-3.png
 img.exit=/net/oni2/aeinstaller/images/tango/system-log-out.png
 img.undo=/net/oni2/aeinstaller/images/tango/edit-undo.png
@@ -25,4 +7,7 @@
 img.redo=/net/oni2/aeinstaller/images/tango/edit-redo.png
 img.refresh=/net/oni2/aeinstaller/images/tango/view-refresh.png
+
+img.stop=/net/oni2/aeinstaller/images/open_icon_library/media-playback-stop-7.png
+img.about=/net/oni2/aeinstaller/images/open_icon_library/help-about-3.png
 img.tools=/net/oni2/aeinstaller/images/open_icon_library/tools-hammer_and_nails.png
 img.install=/net/oni2/aeinstaller/images/open_icon_library/run-build-install-root.png
@@ -34,2 +19,4 @@
 img.oni=/net/oni2/aeinstaller/images/oni.png
 img.transparent=/net/oni2/aeinstaller/images/transparent.png
+
+img.mandatory=/net/oni2/aeinstaller/images/open_icon_library/edit-delete-6.png
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java	(revision 645)
@@ -295,5 +295,4 @@
 	 */
 	public HashMap<Mod, HashSet<Mod>> checkDependencies(TreeSet<Mod> mods) {
-		// TODO: Verify functionality (checkDependencies)
 		HashMap<Mod, HashSet<Mod>> res = new HashMap<Mod, HashSet<Mod>>();
 
@@ -320,5 +319,4 @@
 	 */
 	public HashMap<Mod, HashSet<Mod>> checkIncompabitilites(TreeSet<Mod> mods) {
-		// TODO: Verify functionality (checkIncompatibilities)
 		HashMap<Mod, HashSet<Mod>> res = new HashMap<Mod, HashSet<Mod>>();
 
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod_Info.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod_Info.java	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod_Info.java	(revision 645)
@@ -29,6 +29,4 @@
 	private File iconFile = null;
 	private String workingDir = "Base";
-
-	// TODO
 
 	/**
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 645)
@@ -103,4 +103,5 @@
 	private JButton btnInstall;
 
+	private TreeSet<Mod> execMandatoryUpdates = new TreeSet<Mod>();
 	private TreeSet<Mod> execUpdates = null;
 
@@ -307,4 +308,9 @@
 
 	}
+	
+	@SuppressWarnings("unused")
+	private void showMandatoryPackagesDialog() {
+		// TODO: open mand-pack-dialog
+	}
 
 	private void showSettings() {
@@ -433,17 +439,16 @@
 	private void checkMandatoryFiles(final BackgroundEvent evt) {
 		if (!Settings.getInstance().isOfflineMode()) {
-			TreeSet<Mod> mand = new TreeSet<Mod>();
 			for (Mod m : ModManager.getInstance().getMandatoryTools()) {
 				if (m.isNewerAvailable()) {
-					mand.add(m);
+					execMandatoryUpdates.add(m);
 				}
 			}
 			for (Mod m : ModManager.getInstance().getMandatoryMods()) {
 				if (m.isNewerAvailable()) {
-					mand.add(m);
-				}
-			}
-			if (mand.size() > 0) {
-				ModDownloader m = new ModDownloader(mand,
+					execMandatoryUpdates.add(m);
+				}
+			}
+			if (execMandatoryUpdates.size() > 0) {
+				ModDownloader m = new ModDownloader(execMandatoryUpdates,
 						new ModDownloaderListener() {
 							@Override
@@ -468,4 +473,19 @@
 			Installer
 					.installTools(ModManager.getInstance().getMandatoryTools());
+		}
+	}
+
+	@SuppressWarnings("unused")
+	private void infoMandatoryFiles() {
+		if (execMandatoryUpdates.size() > 0) {
+			String packages = "";
+			for (Mod m : execMandatoryUpdates) {
+				packages += String.format("\n - %s (%s)", m.getName(),
+						m.getVersion());
+			}
+			JOptionPane.showMessageDialog(this, String.format(
+					bundle.getString("mandatoryFilesUpdated.text"), packages),
+					bundle.getString("mandatoryFilesUpdated.title"),
+					JOptionPane.INFORMATION_MESSAGE);
 		}
 	}
@@ -543,6 +563,6 @@
 				}
 			} else {
-				HashMap<Mod, HashSet<Mod>> incompatibilities = ModManager.getInstance()
-						.checkIncompabitilites(mods);
+				HashMap<Mod, HashSet<Mod>> incompatibilities = ModManager
+						.getInstance().checkIncompabitilites(mods);
 				if (incompatibilities.size() > 0) {
 					installState = EInstallState.INCOMPATIBLE;
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 645)
@@ -6,5 +6,5 @@
   locationRelativeTo: null
   defaultCloseOperation: doNothingOnClose
-  onWindowOpened: [execDepotUpdate,checkMandatoryFiles,checkInitialize,initialize,checkUpdates,doUpdate,refreshToolsMenu,focus]
+  onWindowOpened: [execDepotUpdate,checkMandatoryFiles,infoMandatoryFiles,checkInitialize,initialize,checkUpdates,doUpdate,refreshToolsMenu,focus]
   onWindowClosing: [saveLocalData,exit]
   iconImage: img.ae
@@ -21,4 +21,5 @@
     - Action(name=tools, text=menu.manageTools, toolTipText=menu.manageToolsTooltip, icon=img.tools, onAction=[tools,refreshToolsMenu])
     - Action(name=update, text=menu.update, toolTipText=menu.updateTooltip, icon=img.update, onAction=[checkUpdates,doUpdate])
+    - Action(name=mandatoryPackages, text=menu.mandatoryPackages, toolTipText=menu.mandatoryPackagesTooltip, icon=img.mandatory, onAction=[showMandatoryPackagesDialog])
     - JMenuBar:
         - JMenu(name=mainMenu, text=menu.main):
@@ -30,12 +31,13 @@
             - JMenuItem(action=runOniWin)
             - JSeparator()
-            - JMenuItem(action=openEditionFolder)
+            - JMenuItem(action=update)
             - JSeparator()
             - JMenuItem(action=loadConfig)
             - JMenuItem(action=saveConfig)
             - JSeparator()
+            - JMenuItem(action=openEditionFolder)
+            - JSeparator()
+            - JMenuItem(action=mandatoryPackages)
             - JMenuItem(action=reglobalize)
-            - JSeparator()
-            - JMenuItem(action=update)
         - JMenu(name=toolsMenu, text=menu.tools):
             - JMenuItem(name=manageToolsItem, action=tools)
Index: AE/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.properties	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.properties	(revision 645)
@@ -9,3 +9,3 @@
 
 panLinks=Links:
-Links=<a href="http://oni.bungie.org/">Oni Community Portal</a> (oni.bungie.org)<br><a href="http://mods.oni2.net/">Oni Mod Depot</a> (mods.oni2.net)<br><a href="http://wiki.oni2.net/">Oni Galore Wiki</a> (wiki.oni2.net)
+Links=<a href="http://oni.bungie.org/community/forum/index.php">Oni Central Forum</a> (oni.bungie.org/community/forum)<br><a href="http://oni.bungie.org/">Oni Community Portal</a> (oni.bungie.org)<br><a href="http://mods.oni2.net/">Oni Mod Depot</a> (mods.oni2.net)<br><a href="http://wiki.oni2.net/">Oni Galore Wiki</a> (wiki.oni2.net)
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 645)
@@ -26,6 +26,8 @@
 import javax.swing.SortOrder;
 import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.RowSorterEvent;
 import javax.swing.table.TableRowSorter;
 
+import net.oni2.aeinstaller.backend.Settings;
 import net.oni2.aeinstaller.backend.mods.Mod;
 import net.oni2.aeinstaller.backend.mods.Type;
@@ -68,5 +70,10 @@
 
 		List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
-		sortKeys.add(new RowSorter.SortKey(1, SortOrder.ASCENDING));
+
+		int sortCol = Settings.getInstance().get("modSortColumn", 1);
+		SortOrder sortOrder = SortOrder.valueOf(Settings.getInstance().get(
+				"modSortOrder", "ASCENDING"));
+
+		sortKeys.add(new RowSorter.SortKey(sortCol, sortOrder));
 		sorter.setSortKeys(sortKeys);
 
@@ -180,4 +187,20 @@
 	public void setFilter(Type type, int downloadState) {
 		sorter.setRowFilter(new ModTableFilter(type, downloadState));
+	}
+
+	@Override
+	public void sorterChanged(RowSorterEvent evt) {
+		super.sorterChanged(evt);
+		if (evt.getType() == RowSorterEvent.Type.SORT_ORDER_CHANGED) {
+			@SuppressWarnings("unchecked")
+			RowSorter<ModTableModel> rs = (RowSorter<ModTableModel>) getRowSorter();
+			List<? extends RowSorter.SortKey> keys = rs.getSortKeys();
+			if (keys.size() > 0) {
+				int col = keys.get(0).getColumn();
+				SortOrder so = keys.get(0).getSortOrder();
+				Settings.getInstance().put("modSortColumn", col);
+				Settings.getInstance().put("modSortOrder", so.toString());
+			}
+		}
 	}
 
@@ -273,6 +296,5 @@
 						setRowSelectionInterval(i, i);
 						JViewport viewport = (JViewport) getParent();
-						Rectangle rect = getCellRect(i, 0,
-								true);
+						Rectangle rect = getCellRect(i, 0, true);
 						Rectangle r2 = viewport.getVisibleRect();
 						scrollRectToVisible(new Rectangle(rect.x, rect.y,
Index: AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties	(revision 644)
+++ AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties	(revision 645)
@@ -22,4 +22,6 @@
 menu.saveConfigTooltip=Save current mod selection to a file
 
+menu.mandatoryPackages=&Show mandatory packages
+menu.mandatoryPackagesTooltip=View which mandatory packages are used
 menu.reglobalize=&Rebuild Core Data
 menu.reglobalizeTooltip=Rebuild Core Data
@@ -76,6 +78,8 @@
 initializingEdition.title=Initializing Edition core
 installing.title=Installing mods
-mandatoryFiles.title=Checking for mandatory files
+mandatoryFiles.title=Checking for mandatory packages
 mandatoryToolsInstall.title=Installing mandatory tools
+mandatoryFilesUpdated.title=Updated mandatory packages
+mandatoryFilesUpdated.text=The following mandatory packages have been updated:%s
 
 doUpdate.title=Updating packages
