Index: libcfa/src/parseconfig.cfa
===================================================================
--- libcfa/src/parseconfig.cfa	(revision 50dcfadfa596036eb498c453d91ff2f8bf205426)
+++ libcfa/src/parseconfig.cfa	(revision ff3be413d3864c7cd203c65ed41c36ba2938009c)
@@ -14,35 +14,11 @@
 // Process the configuration file to set the simulation parameters.
 void parseConfig( const char * configFile, ConfigParms & cparms ) {
-	enum { Parmnum = 11 };
-	struct {
-		const char * name;								// configuration name
-		bool used;										// already supplied ?
-		unsigned int & value;							// location to put configuration value
-	} parms[Parmnum] = {
-		{ "StopCost", false, cparms.stopCost },
-		{ "NumStudents", false, cparms.numStudents },
-		{ "NumStops", false, cparms.numStops },
-		{ "MaxNumStudents", false, cparms.maxNumStudents },
-		{ "TimerDelay", false, cparms.timerDelay },
-		{ "MaxStudentDelay", false, cparms.maxStudentDelay },
-		{ "MaxStudentTrips", false, cparms.maxStudentTrips },
-		{ "GroupoffDelay", false, cparms.groupoffDelay },
-		{ "ConductorDelay", false, cparms.conductorDelay },
-		{ "ParentalDelay", false, cparms.parentalDelay },
-		{ "NumCouriers", false, cparms.numCouriers },
-	};
-	char * name;
-	int value;
-	unsigned int cnt, posn, numOfParm = 0;
-
 		ifstream in;
 	try {
 		open( in, configFile );							// open the configuration file for input
 
-		for ( cnt; Parmnum ) {							// parameter names can appear in any order
+		while () {
 		  if ( comments( in, name ) ) break;			// eof ?
-			for ( posn; posn < Parmnum && name != parms[posn].name; ++posn ); // linear search
-		  if ( posn == Parmnum ) break;					// configuration not found ?
-		  if ( parms[posn].used ) break;				// duplicate configuration ?
+		  	// Should we just overwrite duplicate config entries? Having a hash map would make this much easier
 			in | value;
 			if ( value < 0 ) {
@@ -53,26 +29,10 @@
 		  if ( fail( in ) ) break;
 		  	in | nl; // ignore remainder of line
-			++numOfParm;
-			parms[posn].used = true;
-			parms[posn].value = value;
 		} // for
 	} catch( Open_Failure * ex; ex->istream == &in ) {
 		exit | "Error: could not open input file \"" | configFile | "\""; // *** DOES THIS PRINT TO STDERR??? IT MUST!!! *** //
 	} // try
-
-		close( in );
-
-	if ( cparms.numStops < 2 ) {
-		exit | "Error: file \"" | configFile | "\" parameter NumStops value "
-			 | cparms.numStops | " must be at least 2."; // *** DOES THIS PRINT TO STDERR??? IT MUST!!! *** //
-	}
-	if ( cparms.numStudents < 1 ) {
-		exit | "Error: file \"" | configFile | "\" parameter NumStudents value "
-			 | cparms.numStudents | " must be at least 1."; // *** DOES THIS PRINT TO STDERR??? IT MUST!!! *** //
-	}
-	if ( cparms.numCouriers < 1 ) {
-		exit | "Error: file \"" | configFile | "\" parameter NumCouriers value "
-			 | cparms.numCouriers | " must be at least 1."; // *** DOES THIS PRINT TO STDERR??? IT MUST!!! *** //
-	}
+	close( in );
+	// *** WE MUST ALLOW SOME SORT OF VALIDATION FUNCTIONALITY TOO!!! ***
 } // processConfigFile
 
