Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModSelectionListener.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModSelectionListener.java	(revision 646)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModSelectionListener.java	(revision 648)
@@ -1,5 +1,5 @@
 package net.oni2.aeinstaller.gui.modtable;
 
-import net.oni2.aeinstaller.backend.mods.Mod;
+import net.oni2.aeinstaller.backend.packages.Package;
 
 /**
@@ -15,4 +15,4 @@
 	 *            New selected mod
 	 */
-	public void modSelectionChanged(ModTable source, Mod mod);
+	public void modSelectionChanged(ModTable source, Package mod);
 }
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 646)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 648)
@@ -30,6 +30,6 @@
 
 import net.oni2.aeinstaller.backend.Settings;
-import net.oni2.aeinstaller.backend.mods.Mod;
-import net.oni2.aeinstaller.backend.mods.Type;
+import net.oni2.aeinstaller.backend.packages.Package;
+import net.oni2.aeinstaller.backend.packages.Type;
 
 /**
@@ -90,5 +90,5 @@
 			int modelCol = convertColumnIndexToModel(c);
 			if (modelCol == 4) {
-				final Mod mod = (Mod) getValueAt(r, -1);
+				final Package mod = (Package) getValueAt(r, -1);
 
 				String tt = "<html>";
@@ -126,5 +126,5 @@
 	}
 
-	private void notifyModSelectionListeners(Mod m) {
+	private void notifyModSelectionListeners(Package m) {
 		for (ModSelectionListener l : modSelListeners) {
 			l.modSelectionChanged(this, m);
@@ -175,5 +175,5 @@
 	 * @return Mods selected for installation
 	 */
-	public TreeSet<Mod> getSelectedMods() {
+	public TreeSet<Package> getSelectedMods() {
 		return model.getSelectedMods();
 	}
@@ -212,5 +212,5 @@
 			notifyModSelectionListeners(null);
 		} else {
-			Mod mod = (Mod) getValueAt(viewRow, -1);
+			Package mod = (Package) getValueAt(viewRow, -1);
 			notifyModSelectionListeners(mod);
 		}
@@ -228,5 +228,5 @@
 			if (rowindex >= 0) {
 				if (e.isPopupTrigger() && e.getComponent() instanceof JTable) {
-					final Mod mod = (Mod) getValueAt(rowindex, -1);
+					final Package mod = (Package) getValueAt(rowindex, -1);
 
 					JPopupMenu popup = new JPopupMenu();
@@ -292,5 +292,5 @@
 				String key = String.valueOf(e.getKeyChar()).toLowerCase();
 				for (int i = 0; i < getRowCount(); i++) {
-					Mod m = (Mod) getValueAt(i, -1);
+					Package m = (Package) getValueAt(i, -1);
 					if (m.getName().toLowerCase().startsWith(key)) {
 						setRowSelectionInterval(i, i);
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java	(revision 646)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java	(revision 648)
@@ -3,6 +3,6 @@
 import javax.swing.RowFilter;
 
-import net.oni2.aeinstaller.backend.mods.Mod;
-import net.oni2.aeinstaller.backend.mods.Type;
+import net.oni2.aeinstaller.backend.packages.Package;
+import net.oni2.aeinstaller.backend.packages.Type;
 
 /**
@@ -28,7 +28,7 @@
 	public boolean include(
 			RowFilter.Entry<? extends ModTableModel, ? extends Integer> entry) {
-		Mod mod = (Mod) entry.getModel().getValueAt(entry.getIdentifier(), -1);
+		Package mod = (Package) entry.getModel().getValueAt(entry.getIdentifier(), -1);
 		
-		if (mod.isMandatoryMod())
+		if (mod.isCorePackage())
 			return false;
 
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 646)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 648)
@@ -12,6 +12,6 @@
 import javax.swing.table.TableColumn;
 
-import net.oni2.aeinstaller.backend.mods.Mod;
-import net.oni2.aeinstaller.backend.mods.ModManager;
+import net.oni2.aeinstaller.backend.packages.Package;
+import net.oni2.aeinstaller.backend.packages.PackageManager;
 
 /**
@@ -25,5 +25,5 @@
 			.getBundle("net.oni2.aeinstaller.localization.ModTable");
 
-	private Vector<Mod> items = new Vector<Mod>();
+	private Vector<Package> items = new Vector<Package>();
 	private Vector<Boolean> install = new Vector<Boolean>();
 
@@ -40,5 +40,5 @@
 	@Override
 	public Object getValueAt(int row, int col) {
-		Mod mod = items.get(row);
+		Package mod = items.get(row);
 		switch (col) {
 			case -1:
@@ -54,5 +54,5 @@
 			case 4:
 				String res = "";
-				res += (install.get(row) ? "I" : "_");
+				res += (mod.isInstalled() ? "I" : "_");
 				res += (mod.isLocalAvailable() && mod.isNewerAvailable() ? "U"
 						: "_");
@@ -166,5 +166,5 @@
 	public void reloadData() {
 		items.clear();
-		items.addAll(ModManager.getInstance().getModsValidAndNotMandatory());
+		items.addAll(PackageManager.getInstance().getModsValidAndNotCore());
 		revertSelection();
 	}
@@ -189,6 +189,6 @@
 	 */
 	public void reloadSelection(File config) {
-		Vector<Integer> selected = ModManager.getInstance().loadModSelection(
-				config);
+		Vector<Integer> selected = PackageManager.getInstance()
+				.loadModSelection(config);
 		install.clear();
 		for (int i = 0; i < items.size(); i++) {
@@ -203,5 +203,5 @@
 	 * @return Items
 	 */
-	public Vector<Mod> getItems() {
+	public Vector<Package> getItems() {
 		return items;
 	}
@@ -210,6 +210,6 @@
 	 * @return Mods selected for installation
 	 */
-	public TreeSet<Mod> getSelectedMods() {
-		TreeSet<Mod> res = new TreeSet<Mod>();
+	public TreeSet<Package> getSelectedMods() {
+		TreeSet<Package> res = new TreeSet<Package>();
 		for (int i = 0; i < items.size(); i++) {
 			if (install.get(i))
@@ -223,5 +223,5 @@
 		return columnIndex == 0;
 	}
-	
+
 	private void notifyDownloadSize(int size) {
 		for (DownloadSizeListener dsl : listeners)
@@ -238,5 +238,5 @@
 			for (int i = 0; i < items.size(); i++) {
 				if (install.get(i)) {
-					Mod m = items.get(i);
+					Package m = items.get(i);
 					if (!m.isLocalAvailable())
 						size += m.getZipSize();
