Index: AE/Installer/trunk/source/methods.h
===================================================================
--- AE/Installer/trunk/source/methods.h	(revision 286)
+++ AE/Installer/trunk/source/methods.h	(revision 286)
@@ -0,0 +1,14 @@
+#include <string>
+int mainMenu();
+using namespace std;
+
+void installPackages();
+void uninstallPackages();
+void getInstalledPackages();
+
+bool getDirectoryContents(char , char &);
+
+struct ModPackage {
+	bool isInstalled; //replace with function 
+	string *name;
+};
Index: AE/Installer/trunk/source/subs.cpp
===================================================================
--- AE/Installer/trunk/source/subs.cpp	(revision 286)
+++ AE/Installer/trunk/source/subs.cpp	(revision 286)
@@ -0,0 +1,105 @@
+/*
+AE\Mod Installer.
+
+Needs getPackages() now!
+
+*/
+
+#include <string>
+#include <iostream>
+#include "methods.h"
+#include <vector>
+
+using namespace std;
+bool FALSE = 0;
+bool TRUE = 0;
+
+
+int main(void)
+{
+
+	//	SetConsoleTitle("AE Installer"); windows junk, convert to SDL
+//	system("color 0A"); 
+	cout << "\nWelcome to the AE installer!\n";
+
+	cout << "\nWhat would you like to do?\n";
+	
+	return mainMenu();
+
+	
+}
+
+int mainMenu(void) {
+	int choice = '0';
+	bool ok = FALSE;
+	cout << "1. Install new packages\n";
+	cout << "2. Uninstall packages\n";
+	cout << "3. See what is installed\n";
+	cout << "4. About AE\n";
+	cout << "5. Quit\n\n";
+	
+	do {
+		ok = TRUE;
+		choice = cin.get();
+		cin.ignore(1);
+		switch(choice) {
+			case '1':
+				installPackages();
+				break;
+			case '2':
+				uninstallPackages();
+				break;
+			case '3':
+				//listInstalledPackages();
+				break;
+			case '5':
+				return 0;
+			default:
+				ok = FALSE;
+		}
+	} while(ok == FALSE);
+	return 0;
+}
+
+
+void installPackages() {
+	ModPackage package;
+	vector<string> installed_packages;
+	vector<ModPackage> packages; // = getPackages()
+	vector<ModPackage>::iterator iter;
+	iter = packages.begin();
+	
+	if (packages.empty()) {
+		cout << "Error: You have no packages!\n";
+		return;
+	}
+			
+	cout << "Detecting installed packages...\n";
+	
+		for(int i = 0; i < packages.size();) {
+		package = *iter;
+		if(!package.isInstalled){
+			packages.erase(iter);
+		}
+		else { 
+			i++;
+			iter++;
+		}
+		
+	}
+	
+	if (packages.empty()) {
+		cout << "Error: You have no installed packages!\n";
+		return;
+	}
+	
+	//listInstalledPackages(packages);
+	
+}
+void uninstallPackages() {
+;
+}
+
+void getInstalledPackages() {
+;
+}
