public void run() {
		//solve it twice, then write the information to the file twice 
		long firstStartTime = System.currentTimeMillis();
		int firstNumGenToSolve = solver.solve();
		long firstStopTime = System.currentTimeMillis();

		long firstTotalTime = firstStopTime - firstStartTime;

		long secondStartTime = System.currentTimeMillis();
		int secondNumGenToSolve = solver.solve();
		long secondStopTime = System.currentTimeMillis();

		long secondTotalTime = secondStopTime - secondStartTime;

		try {
			BufferedWriter outputFile = new BufferedWriter(new FileWriter(outputFileLoc, true));
			String outputMessage = firstTotalTime + " " + firstNumGenToSolve + " " + solver.TARGET_STRING.length() + " " + solver.INDIVIDUAL_POPULATION_SIZE + " " + solver.BLOCK_POPULATION_SIZE + " " + df.format(solver.MUTATION_PROB) + " " + df.format(solver.MIN_CHARACTER_PROB) + "\n";
			outputFile.write(outputMessage);
			outputMessage = secondTotalTime + " " + secondNumGenToSolve + " " + solver.TARGET_STRING.length() + " " + solver.INDIVIDUAL_POPULATION_SIZE + " " + solver.BLOCK_POPULATION_SIZE + " " + df.format(solver.MUTATION_PROB) + " " + df.format(solver.MIN_CHARACTER_PROB) + "\n";
			outputFile.write(outputMessage);
			outputFile.flush();
			outputFile.close();
		} catch (IOException e) {
			System.out.println("ERROR opening file: " + e);
			System.out.println("maybe thread issue?");
			System.exit(0);
		}
	}