public static void loadConfig(String filename) {
		try {
			Reader read = null;
			read = new FileReader(new File(filename));
			JSONTokener jsonReader = new JSONTokener(read);
			JSONObject params = new JSONObject(jsonReader);
			/*
			 * Reading in configuration information from the file, things like confidence, merging thresholds etc
			 * */
			System.out.println(params.toString(3));

			ExperimentConstants.populationThreshold = (float) params.getDouble("confidenceThreshold_forYifang");
			
			ExperimentConstants.crossSiteThreshold = (float) params.getDouble("aggregateThreshold");
			
			ExperimentConstants.websiteThreshold = (float) params.getDouble("individualWebsiteThreshold");
			
			ExperimentConstants.experimentID = "" + params.getInt("experimentId");
			
			if(params.has("useEngine")){
				ExperimentConstants.doPopulationEngine = params.getBoolean("useEngine");
			}
			
			if(params.has("doCrossSite")){
				ExperimentConstants.doCrossSite = params.getBoolean("doCrossSite");
			}

			//Getting which websites this experiment will seek to use
			JSONArray temp = params.getJSONArray("websites");

			for (int i = 0; i < temp.length(); i++) {
				websitesUsed.add(temp.getString(i));
			}

			//Gets the attirbutes for the initial core
			JSONArray tempInit = params.getJSONArray("initialCoreAttributes");

			for (int i = 0; i < tempInit.length(); i++) {
				if (tempInit.getString(i).equals("last_name") || tempInit.getString(i).equals("first_name"))
					continue;
				
				initialAttributeNames.add(tempInit.getString(i));
			}

			//debugPrint.print("Finished reading config file");
			
		}//end of try block
		catch(IOException ie){
			ie.printStackTrace();
		}
		catch(JSONException je){
			je.printStackTrace();
		}
	}