diff --git a/src/js/random.js b/js/random.js
similarity index 86%
rename from src/js/random.js
rename to js/random.js
index c98890793ea53e37c1e18b6fbbf308cf66d0d8b0..13e6528ed7d98d0befc8855be75d6e237c40d7b0 100644
--- a/src/js/random.js
+++ b/js/random.js
@@ -3,22 +3,22 @@
  * mean and deviation specify the desired mean and standard deviation.
  * @returns {number[]}
  */
-window.gaussianPair = function(mean = 0, deviation = 1) {
+function gaussianPair(mean = 0, deviation = 1) {
 	const r = Math.sqrt(-2.0 * Math.log(1 - Math.random()));
 	const sigma = 2.0 * Math.PI * (1 - Math.random());
 	return [r * Math.cos(sigma), r * Math.sin(sigma)].map(val => val * deviation + mean);
-};
+}
 
 // Generate a random integer with a normal distribution between min and max (both inclusive).
 // Default parameters result in truncating the standard normal distribution between -3 and +3.
 // Not specifying min/max results in rerolling val approximately 0.3% of the time.
-window.normalRandInt = function(mean = 0, deviation = 1, min = mean - 3 * deviation, max = mean + 3 * deviation) {
+function normalRandInt(mean = 0, deviation = 1, min = mean - 3 * deviation, max = mean + 3 * deviation) {
 	let val = gaussianPair(mean, deviation)[0];
 	while (val < min || val > max) {
 		val = gaussianPair(mean, deviation)[0];
 	}
 	return Math.round(val);
-};
+}
 
 /**
  * Returns a random integer between min and max (both inclusive).
@@ -27,7 +27,7 @@ window.normalRandInt = function(mean = 0, deviation = 1, min = mean - 3 * deviat
  * @param {number} max
  * @returns {number}
  */
-window.jsRandom = function(min, max, count = 1) {
+function jsRandom(min, max, count = 1) {
 	function rand() {
 		return Math.random() * (max - min + 1) + min;
 	}
@@ -41,7 +41,7 @@ window.jsRandom = function(min, max, count = 1) {
 		total += rand();
 	}
 	return Math.floor(total/count);
-};
+}
 
 /**
  * Chooses multiple random elements of an array.
@@ -49,7 +49,7 @@ window.jsRandom = function(min, max, count = 1) {
  * @param {number} count
  * @returns {number[]}
  */
-window.jsRandomMany = function(arr, count) {
+function jsRandomMany(arr, count) {
 	let result = [];
 	let _tmp = arr.slice();
 	for (let i = 0; i < count; i++) {
@@ -57,7 +57,7 @@ window.jsRandomMany = function(arr, count) {
 		result.push(_tmp.splice(index, 1)[0]);
 	}
 	return result;
-};
+}
 
 /**
  * Accepts both an array and a list, returns undefined if nothing is passed.
@@ -65,11 +65,11 @@ window.jsRandomMany = function(arr, count) {
  * @param {...(number|string|number[]|string[])} otherChoices
  * @returns {number|string|number[]|string[]|undefined}
  */
-window.jsEither = function(choices, ...otherChoices) {
+function jsEither(choices, ...otherChoices) {
 	if (otherChoices.length === 0 && Array.isArray(choices)) {
 		return choices[Math.floor(Math.random() * choices.length)];
 	}
 	const allChoices = otherChoices;
 	allChoices.push(choices);
 	return allChoices[Math.floor(Math.random() * allChoices.length)];
-};
+}