Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 603)
@@ -21,5 +21,4 @@
 import net.oni2.aeinstaller.backend.Settings.Platform;
 import net.oni2.aeinstaller.backend.SizeFormatter;
-import net.oni2.aeinstaller.backend.StuffToRefactorLater;
 import net.oni2.aeinstaller.backend.depot.DepotManager;
 import net.oni2.aeinstaller.backend.oni.Installer;
@@ -128,5 +127,5 @@
 		System.out.println("TempPath:  " + Paths.getTempPath());
 		System.out.println("ValidPath: "
-				+ StuffToRefactorLater.verifyRunningDirectory());
+				+ Installer.verifyRunningDirectory());
 		System.out.println("Platform:  " + Settings.getPlatform());
 		System.out.println("Architect: " + Settings.getArchitecture());
@@ -143,5 +142,5 @@
 						.getUsableSpace(), 3));
 
-		if (!StuffToRefactorLater.verifyRunningDirectory()) {
+		if (!Installer.verifyRunningDirectory()) {
 			JOptionPane.showMessageDialog(null,
 					basicBundle.getString("invalidPath.text"),
Index: AE/installer2/src/net/oni2/aeinstaller/DepotPackageCheck.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/DepotPackageCheck.java	(revision 603)
+++ AE/installer2/src/net/oni2/aeinstaller/DepotPackageCheck.java	(revision 603)
@@ -0,0 +1,71 @@
+package net.oni2.aeinstaller;
+
+import java.util.HashMap;
+import java.util.HashSet;
+
+import net.oni2.aeinstaller.backend.depot.DepotCacheUpdateProgressListener;
+import net.oni2.aeinstaller.backend.depot.DepotConfig;
+import net.oni2.aeinstaller.backend.depot.DepotManager;
+import net.oni2.aeinstaller.backend.depot.model.Node;
+import net.oni2.aeinstaller.backend.depot.model.NodeMod;
+
+/**
+ * @author Christian Illy
+ */
+public class DepotPackageCheck {
+
+	/**
+	 * @param args
+	 *            Arguments
+	 */
+	public static void main(String[] args) {
+		System.out.println("Reading Depot data:");
+		DepotManager.getInstance().updateInformation(false,
+				new DepotCacheUpdateProgressListener() {
+
+					@Override
+					public void cacheUpdateProgress(String stepName,
+							int current, int total) {
+						System.out.format("%50s", "");
+						System.out.format("\rStep %2d / %2d - %s", current,
+								total, stepName);
+					}
+				});
+		System.out.println("\nReading done");
+		System.out.println();
+		DepotManager.getInstance().printStats();
+
+		System.out.println();
+
+		printModsWithFilesNot1();
+	}
+
+	private static void printModsWithFilesNot1() {
+		System.out.println("Mod-Nodes with files != 1:");
+
+		HashMap<String, HashSet<NodeMod>> foundNodes = new HashMap<String, HashSet<NodeMod>>();
+		for (Node n : DepotManager.getInstance().getNodesByType(
+				DepotConfig.getNodeType_Mod())) {
+			NodeMod nm = (NodeMod) n;
+			if (nm.getUploads().size() != 1) {
+				if (!foundNodes.containsKey(nm.getInstallMethod().getName()))
+					foundNodes.put(nm.getInstallMethod().getName(),
+							new HashSet<NodeMod>());
+				foundNodes.get(nm.getInstallMethod().getName()).add(nm);
+			}
+		}
+
+		for (String inst : foundNodes.keySet()) {
+			System.out.format("Inst method '%s':\n", inst);
+			for (NodeMod nm : foundNodes.get(inst)) {
+				System.out
+						.format("  Node %3d, Files %d, Platform %5s, Type %10s, Title \"%s\"\n",
+								nm.getNid(), nm.getUploads().size(), nm
+										.getPlatform().toString(), nm
+										.getTypes().toString(), nm.getTitle());
+			}
+			System.out.println();
+		}
+	}
+
+}
Index: AE/installer2/src/net/oni2/aeinstaller/backend/StuffToRefactorLater.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/StuffToRefactorLater.java	(revision 602)
+++ 	(revision )
@@ -1,12 +1,0 @@
-package net.oni2.aeinstaller.backend;
-
-
-public class StuffToRefactorLater {
-	/**
-	 * Verify that the Edition is within a subfolder to vanilla Oni (..../Oni/Edition/AEInstaller)
-	 * @return true if GDF can be found in the parent's parent-path
-	 */
-	public static boolean verifyRunningDirectory() {
-		return Paths.getVanillaGDF().exists() && Paths.getVanillaGDF().isDirectory();
-	}
-}
Index: AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java	(revision 603)
@@ -87,5 +87,7 @@
 
 			// Get taxonomy vocabulary
-			listener.cacheUpdateProgress("Updating taxonomy vocabulary", 0, 100);
+			if (listener != null)
+				listener.cacheUpdateProgress("Updating taxonomy vocabulary", 0,
+						100);
 			page = 0;
 			do {
@@ -100,5 +102,6 @@
 
 			// Get taxonomy terms
-			listener.cacheUpdateProgress("Updating taxonomy terms", 0, 100);
+			if (listener != null)
+				listener.cacheUpdateProgress("Updating taxonomy terms", 0, 100);
 			page = 0;
 			do {
@@ -113,6 +116,7 @@
 
 			// Check nodes for new information
-			listener.cacheUpdateProgress("Checking for new/updated nodes", 1,
-					100);
+			if (listener != null)
+				listener.cacheUpdateProgress("Checking for new/updated nodes",
+						1, 100);
 			HashSet<Integer> nodesToUpdate = new HashSet<Integer>();
 			page = 0;
@@ -142,6 +146,7 @@
 
 			// Check files for new stuff
-			listener.cacheUpdateProgress("Checking for new/updated files", 2,
-					100);
+			if (listener != null)
+				listener.cacheUpdateProgress("Checking for new/updated files",
+						2, 100);
 			HashSet<Integer> filesToUpdate = new HashSet<Integer>();
 			page = 0;
@@ -168,5 +173,7 @@
 			// Update nodes with new information
 			for (int nid : nodesToUpdate) {
-				listener.cacheUpdateProgress("Updating nodes", step++, total);
+				if (listener != null)
+					listener.cacheUpdateProgress("Updating nodes", step++,
+							total);
 
 				ja = DrupalJSONQuery.getItem("node", nid, "");
@@ -188,5 +195,7 @@
 			// Update new files
 			for (int fid : filesToUpdate) {
-				listener.cacheUpdateProgress("Updating files", step++, total);
+				if (listener != null)
+					listener.cacheUpdateProgress("Updating files", step++,
+							total);
 
 				ja = DrupalJSONQuery.getItem("file", fid, "&file_contents=0");
Index: AE/installer2/src/net/oni2/aeinstaller/backend/depot/model/NodeMod.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/depot/model/NodeMod.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/depot/model/NodeMod.java	(revision 603)
@@ -148,3 +148,12 @@
 		return Integer.parseInt(fields.get("package_number"));
 	}
+
+	/**
+	 * @return Is this mod a tool?
+	 */
+	public boolean isTool() {
+		TaxonomyTerm tt = DepotManager.getInstance().getTaxonomyTerm(
+				DepotConfig.getTaxonomyName_ModType_Tool());
+		return getTypes().contains(tt);
+	}
 }
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod.java	(revision 603)
@@ -13,5 +13,4 @@
 import net.oni2.aeinstaller.backend.Settings;
 import net.oni2.aeinstaller.backend.Settings.Platform;
-import net.oni2.aeinstaller.backend.depot.DepotConfig;
 import net.oni2.aeinstaller.backend.depot.DepotManager;
 import net.oni2.aeinstaller.backend.depot.model.NodeMod;
@@ -56,5 +55,5 @@
 			Type t = ModManager.getInstance().getTypeByName(tt.getName());
 			types.add(t);
-			if (!t.getName().equals(DepotConfig.getTaxonomyName_ModType_Tool()))
+			if (!nm.isTool())
 				t.addEntry(this);
 		}
@@ -187,6 +186,6 @@
 	 */
 	public boolean isNewerAvailable() {
-		if (node != null)
-			return node.getUploads().firstElement().getTimestamp() > localTimestamp;
+		if (file != null)
+			return file.getTimestamp() > localTimestamp;
 		else
 			return false;
@@ -261,11 +260,4 @@
 	public int getZipSize() {
 		return zipSize;
-	}
-
-	/**
-	 * @return Depot Mod-Node
-	 */
-	public NodeMod getNode() {
-		return node;
 	}
 
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java	(revision 603)
@@ -10,5 +10,4 @@
 
 import net.oni2.aeinstaller.backend.Paths;
-import net.oni2.aeinstaller.backend.depot.DepotConfig;
 import net.oni2.aeinstaller.backend.depot.DepotManager;
 import net.oni2.aeinstaller.backend.depot.model.NodeMod;
@@ -56,10 +55,8 @@
 		}
 
-		TaxonomyTerm toolTerm = DepotManager.getInstance().getTaxonomyTerm(
-				DepotConfig.getTaxonomyName_ModType_Tool());
 		for (NodeMod nm : DepotManager.getInstance().getModPackageNodes()) {
 			if (nm.getUploads().size() == 1) {
 				Mod m = new Mod(nm);
-				if (nm.getTypes().contains(toolTerm))
+				if (nm.isTool())
 					tools.put(m.getPackageNumber(), m);
 				else
Index: AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 603)
@@ -272,5 +272,6 @@
 				FileUtils.copyFile(keyConfVanilla, keyConfEdition);
 
-			// TODO: FileUtils.deleteDirectory(init);
+			FileUtils.deleteDirectory(init);
+			
 			Date end = new Date();
 			log.println("Initialization ended at " + sdf.format(end));
@@ -384,3 +385,11 @@
 		}
 	}
+
+	/**
+	 * Verify that the Edition is within a subfolder to vanilla Oni (..../Oni/Edition/AEInstaller)
+	 * @return true if GDF can be found in the parent's parent-path
+	 */
+	public static boolean verifyRunningDirectory() {
+		return Paths.getVanillaGDF().exists() && Paths.getVanillaGDF().isDirectory();
+	}
 }
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 603)
@@ -71,5 +71,4 @@
 	private JLabel lblSubmitterVal;
 	private JLabel lblCreatorVal;
-	private JLabel lblFilesVal;
 	private HTMLLinkLabel lblDescriptionVal;
 
@@ -191,5 +190,4 @@
 
 			tblMods.setVisible(true);
-			DepotManager.getInstance().printStats();
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -266,13 +264,14 @@
 	@DoInBackground(progressMessage = "mandatoryFiles.title", cancelable = false, indeterminateProgress = false)
 	private void checkMandatoryFiles(final BackgroundEvent evt) {
-		System.out.println("Tools:");
-		for (Mod m : ModManager.getInstance().getTools()) {
-			System.out.format("  %05d %s", m.getPackageNumber(), m.getName());
+		//TODO
+		System.out.println("Mandatory Tools:");
+		for (Mod m : ModManager.getInstance().getMandatoryTools()) {
+			System.out.format("  %05d %15s - Local: %b - Update: %b", m.getPackageNumber(), m.getName(), m.isLocalAvailable(), m.isNewerAvailable());
 		}
 		System.out.println();
 		
-		System.out.println("Mandatory tools:");
-		for (Mod m : ModManager.getInstance().getMandatoryTools()) {
-			System.out.format("  %05d %s", m.getPackageNumber(), m.getName());
+		System.out.println("Mandatory Mods:");
+		for (Mod m : ModManager.getInstance().getMandatoryMods()) {
+			System.out.format("  %05d %15s - Local: %b - Update: %b", m.getPackageNumber(), m.getName(), m.isLocalAvailable(), m.isNewerAvailable());
 		}
 	}
@@ -305,13 +304,8 @@
 		lblSubmitterVal.setText("");
 		lblCreatorVal.setText("");
-		lblFilesVal.setText("");
 		lblDescriptionVal.setText("");
 		if (m != null) {
 			lblSubmitterVal.setText(m.getName());
 			lblCreatorVal.setText(m.getCreator());
-			if (m.getNode() != null) {
-				lblFilesVal.setText(Integer.toString(m.getNode().getUploads()
-						.size()));
-			}
 			lblDescriptionVal.setText(m.getDescription());
 		}
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 602)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 603)
@@ -55,6 +55,4 @@
             - JLabel(name=lblCreator, text=lblCreator.text)
             - JLabel(name=lblCreatorVal)
-            - JLabel(name=lblFiles, text=lblFiles.text)
-            - JLabel(name=lblFilesVal)
             - JLabel(name=lblDescription, text=lblDescription.text)
             - JScrollPane(name=scrollDescription, vScrollBar=always, hScrollBar=asNeeded):
@@ -64,5 +62,4 @@
                  >lblSubmitter     lblSubmitterVal    [min]
                  >lblCreator       lblCreatorVal      [min]
-                 >lblFiles         lblFilesVal        [min]
                  >^lblDescription  scrollDescription  [grow]
     - MigLayout:
