public Individual[] constructNextIndividualPopulation(Vector<Block> unorganizedBlocks, Vector<Block>[] byStart, Vector<Block>[] byEnd) {
		//make the array we will return
		Individual[] newIndividuals = new Individual[INDIVIDUAL_POPULATION_SIZE];
		//fill it up
		for(int i = 0; i < newIndividuals.length; i++) {
			newIndividuals[i] = new Individual(unorganizedBlocks, byStart, byEnd, RANDOM_NUMBER_GENERATOR, this);
		}
		//return the array
		return newIndividuals;
	}