private static void consolidateComputerConfigs(GameStatus gameStatus) {
		Logger.info("Consolidating files");
		File[] allFiles = FileManager.listAllFiles(gameStatus);
		ArrayList<ComputerPlay> computers = new ArrayList<ComputerPlay>();
		int counter = 0;
		for(File file:allFiles) {
			if(counter%50 == 0) Logger.info("Loading file "+(counter+1)+" of "+allFiles.length+": "+file.getName());
			ComputerPlay computer = FileManager.loadComputerPlayer(file.getName(), 0, gameStatus, board, false);
			if(computer == null) continue;
			boolean found = false;
			Iterator<ComputerPlay> iter = computers.iterator();
			while(iter.hasNext()) {
				ComputerPlay thisComp = iter.next();
				if(thisComp.sameConfig(computer)) {
					computer.mergeScores(thisComp);
					String previousFilename = computer.filename;
					FileManager.saveComputerPlayer(computer, gameStatus, board, true, true, false);
					FileManager.deletePreviousFile(previousFilename, gameStatus);
					FileManager.deletePreviousFile(thisComp.filename, gameStatus);
					Logger.info("New File: "+ computer.filename+", Old Files: "+ previousFilename + "," + thisComp.filename);
					iter.remove();
					break;
				}
			}
			if(!found) {
				if(counter > gameStatus.config.getInt(Config.KEY.MAX_IN_MEMORY_COMPUTERS_DURING_CONSOLIDATION.getKey())) {
					if(gameStatus.config.getInt(Config.KEY.PERGE_ON_MAX_COMPUTERS_DURING_PURGE.getKey()) == 1) {
						// perge files
						Logger.info("Perging "+computers.size()+" of original "+allFiles.length);
						gameStatus.display.repaint();
						computers = new ArrayList<ComputerPlay>();
						counter = 0;
					}
				}
				if(counter <= gameStatus.config.getInt(Config.KEY.MAX_IN_MEMORY_COMPUTERS_DURING_CONSOLIDATION.getKey())) {
					computers.add(computer);
					counter++;
				}
			}
		}
		Logger.info("Saved back "+computers.size()+" of original "+allFiles.length);
	}