public static Random getRandom() {
		// construct the singleton random object if it does not yet exist
		if(randomGenerator == null) {
			if(Configuration.useSameSeedAsInPreviousRun) {
				randomSeed = AppConfig.getAppConfig().seedFromLastRun;
			} else {
				if(Configuration.useFixedSeed){
					randomSeed = Configuration.fixedSeed;
				} else {
					randomSeed = (new java.util.Random()).nextLong();
					Configuration.fixedSeed = randomSeed;
				}
			}
			randomGenerator = new Random(randomSeed); // use a random seed
		}
		return randomGenerator;
	}