diff --git a/public/coding_challenges/covid-tracker/cases.csv b/public/coding_challenges/covid_tracker/cases.csv
similarity index 100%
rename from public/coding_challenges/covid-tracker/cases.csv
rename to public/coding_challenges/covid_tracker/cases.csv
diff --git a/public/coding_challenges/covid-tracker/index.html b/public/coding_challenges/covid_tracker/index.html
similarity index 100%
rename from public/coding_challenges/covid-tracker/index.html
rename to public/coding_challenges/covid_tracker/index.html
diff --git a/public/coding_challenges/covid-tracker/index.js b/public/coding_challenges/covid_tracker/index.js
similarity index 100%
rename from public/coding_challenges/covid-tracker/index.js
rename to public/coding_challenges/covid_tracker/index.js
diff --git a/public/coding_challenges/index.html b/public/coding_challenges/index.html
index dc114fdf062539f919edfe194fa04d8e57eede64..89da80b1434584484deb8f68993fa6258fb4f0e9 100644
--- a/public/coding_challenges/index.html
+++ b/public/coding_challenges/index.html
@@ -19,7 +19,7 @@
 	<div id="container">
 		<ul>
 			<li>
-				<a href="covid-tracker/">Covid-19 tracker/charter</a>
+				<a href="covid_tracker/">Covid-19 tracker/charter</a>
 				(WIP)
 			</li>
 			<li>
@@ -27,7 +27,7 @@
 				(WIP)
 			</li>
 			<li>
-				<a href="./sorting-visualiser/">Sorting Algorithm Visualiser</a>
+				<a href="./sorting_visualiser/">Sorting Algorithm Visualiser</a>
 			</li>
 		</ul>
 
diff --git a/public/coding_challenges/sorting-visualiser/algo.js b/public/coding_challenges/sorting_visualiser/algo.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algo.js
rename to public/coding_challenges/sorting_visualiser/algo.js
diff --git a/public/coding_challenges/sorting-visualiser/algo.js.map b/public/coding_challenges/sorting_visualiser/algo.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algo.js.map
rename to public/coding_challenges/sorting_visualiser/algo.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algo.ts b/public/coding_challenges/sorting_visualiser/algo.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algo.ts
rename to public/coding_challenges/sorting_visualiser/algo.ts
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/bubble-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/bubble-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/bubble-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/bubble-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/bubble-sort.ts b/public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/bubble-sort.ts
rename to public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.ts
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/cocktail-shaker-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/cocktail-shaker-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/cocktail-shaker-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/cocktail-shaker-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/cocktail-shaker-sort.ts b/public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/cocktail-shaker-sort.ts
rename to public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.ts
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/fisher-yates.js b/public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/fisher-yates.js
rename to public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/fisher-yates.js.map b/public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/fisher-yates.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/heap-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/heap-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/heap-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/heap-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/heap-sort.ts b/public/coding_challenges/sorting_visualiser/algorithms/heap_sort.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/heap-sort.ts
rename to public/coding_challenges/sorting_visualiser/algorithms/heap_sort.ts
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/in-order.js b/public/coding_challenges/sorting_visualiser/algorithms/in-order.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/in-order.js
rename to public/coding_challenges/sorting_visualiser/algorithms/in-order.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/in-order.js.map b/public/coding_challenges/sorting_visualiser/algorithms/in-order.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/in-order.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/in-order.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/near-sorted.js b/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/near-sorted.js
rename to public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/near-sorted.js.map b/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/near-sorted.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/quick-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/quick-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/quick-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/quick-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js.map
diff --git a/public/coding_challenges/sorting-visualiser/algorithms/quick-sort.ts b/public/coding_challenges/sorting_visualiser/algorithms/quick_sort.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/algorithms/quick-sort.ts
rename to public/coding_challenges/sorting_visualiser/algorithms/quick_sort.ts
diff --git a/public/coding_challenges/sorting-visualiser/color.js b/public/coding_challenges/sorting_visualiser/color.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/color.js
rename to public/coding_challenges/sorting_visualiser/color.js
diff --git a/public/coding_challenges/sorting-visualiser/color.js.map b/public/coding_challenges/sorting_visualiser/color.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/color.js.map
rename to public/coding_challenges/sorting_visualiser/color.js.map
diff --git a/public/coding_challenges/sorting-visualiser/color.ts b/public/coding_challenges/sorting_visualiser/color.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/color.ts
rename to public/coding_challenges/sorting_visualiser/color.ts
diff --git a/public/coding_challenges/sorting-visualiser/colors/rainbow.js b/public/coding_challenges/sorting_visualiser/colors/rainbow.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/colors/rainbow.js
rename to public/coding_challenges/sorting_visualiser/colors/rainbow.js
diff --git a/public/coding_challenges/sorting-visualiser/colors/rainbow.js.map b/public/coding_challenges/sorting_visualiser/colors/rainbow.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/colors/rainbow.js.map
rename to public/coding_challenges/sorting_visualiser/colors/rainbow.js.map
diff --git a/public/coding_challenges/sorting-visualiser/colors/rainbow.ts b/public/coding_challenges/sorting_visualiser/colors/rainbow.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/colors/rainbow.ts
rename to public/coding_challenges/sorting_visualiser/colors/rainbow.ts
diff --git a/public/coding_challenges/sorting-visualiser/colors/simple.js b/public/coding_challenges/sorting_visualiser/colors/simple.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/colors/simple.js
rename to public/coding_challenges/sorting_visualiser/colors/simple.js
diff --git a/public/coding_challenges/sorting-visualiser/colors/simple.js.map b/public/coding_challenges/sorting_visualiser/colors/simple.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/colors/simple.js.map
rename to public/coding_challenges/sorting_visualiser/colors/simple.js.map
diff --git a/public/coding_challenges/sorting-visualiser/colors/simple.ts b/public/coding_challenges/sorting_visualiser/colors/simple.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/colors/simple.ts
rename to public/coding_challenges/sorting_visualiser/colors/simple.ts
diff --git a/public/coding_challenges/sorting-visualiser/index.html b/public/coding_challenges/sorting_visualiser/index.html
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/index.html
rename to public/coding_challenges/sorting_visualiser/index.html
diff --git a/public/coding_challenges/sorting-visualiser/main.js b/public/coding_challenges/sorting_visualiser/main.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/main.js
rename to public/coding_challenges/sorting_visualiser/main.js
diff --git a/public/coding_challenges/sorting-visualiser/main.js.map b/public/coding_challenges/sorting_visualiser/main.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/main.js.map
rename to public/coding_challenges/sorting_visualiser/main.js.map
diff --git a/public/coding_challenges/sorting-visualiser/main.ts b/public/coding_challenges/sorting_visualiser/main.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/main.ts
rename to public/coding_challenges/sorting_visualiser/main.ts
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/fisher-yates.js b/public/coding_challenges/sorting_visualiser/shuffles/fisher-yates.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/fisher-yates.js
rename to public/coding_challenges/sorting_visualiser/shuffles/fisher-yates.js
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/fisher-yates.js.map b/public/coding_challenges/sorting_visualiser/shuffles/fisher-yates.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/fisher-yates.js.map
rename to public/coding_challenges/sorting_visualiser/shuffles/fisher-yates.js.map
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/fisher-yates.ts b/public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/fisher-yates.ts
rename to public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.ts
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/in-order.js b/public/coding_challenges/sorting_visualiser/shuffles/in-order.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/in-order.js
rename to public/coding_challenges/sorting_visualiser/shuffles/in-order.js
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/in-order.js.map b/public/coding_challenges/sorting_visualiser/shuffles/in-order.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/in-order.js.map
rename to public/coding_challenges/sorting_visualiser/shuffles/in-order.js.map
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/in-order.ts b/public/coding_challenges/sorting_visualiser/shuffles/in_order.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/in-order.ts
rename to public/coding_challenges/sorting_visualiser/shuffles/in_order.ts
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/near-sorted.js b/public/coding_challenges/sorting_visualiser/shuffles/near-sorted.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/near-sorted.js
rename to public/coding_challenges/sorting_visualiser/shuffles/near-sorted.js
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/near-sorted.js.map b/public/coding_challenges/sorting_visualiser/shuffles/near-sorted.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/near-sorted.js.map
rename to public/coding_challenges/sorting_visualiser/shuffles/near-sorted.js.map
diff --git a/public/coding_challenges/sorting-visualiser/shuffles/near-sorted.ts b/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/shuffles/near-sorted.ts
rename to public/coding_challenges/sorting_visualiser/shuffles/near_sorted.ts
diff --git a/public/coding_challenges/sorting-visualiser/sorter.html b/public/coding_challenges/sorting_visualiser/sorter.html
similarity index 70%
rename from public/coding_challenges/sorting-visualiser/sorter.html
rename to public/coding_challenges/sorting_visualiser/sorter.html
index c4983479961852c3806d4016b856382f30227d5e..80f926b7c46ade64d37a2b704d592e385579efe9 100644
--- a/public/coding_challenges/sorting-visualiser/sorter.html
+++ b/public/coding_challenges/sorting_visualiser/sorter.html
@@ -20,14 +20,14 @@
 	<script src="./visualisers/pie.js"></script>
 	<script src="./visualisers/scatter.js"></script>
 
-	<script src="./algorithms/bubble-sort.js"></script>
-	<script src="./algorithms/cocktail-shaker-sort.js"></script>
-	<script src="./algorithms/quick-sort.js"></script>
-	<script src="./algorithms/heap-sort.js"></script>
-
-	<script src="./shuffles/fisher-yates.js"></script>
-	<script src="./shuffles/in-order.js"></script>
-	<script src="./shuffles/near-sorted.js"></script>
+	<script src="./algorithms/bubble_sort.js"></script>
+	<script src="./algorithms/cocktail_shaker_sort.js"></script>
+	<script src="./algorithms/quick_sort.js"></script>
+	<script src="./algorithms/heap_sort.js"></script>
+
+	<script src="./shuffles/fisher_yates.js"></script>
+	<script src="./shuffles/in_order.js"></script>
+	<script src="./shuffles/near_sorted.js"></script>
 
 	<script src="./colors/rainbow.js"></script>
 	<script src="./colors/simple.js"></script>
diff --git a/public/coding_challenges/sorting-visualiser/visualiser.js b/public/coding_challenges/sorting_visualiser/visualiser.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualiser.js
rename to public/coding_challenges/sorting_visualiser/visualiser.js
diff --git a/public/coding_challenges/sorting-visualiser/visualiser.js.map b/public/coding_challenges/sorting_visualiser/visualiser.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualiser.js.map
rename to public/coding_challenges/sorting_visualiser/visualiser.js.map
diff --git a/public/coding_challenges/sorting-visualiser/visualiser.ts b/public/coding_challenges/sorting_visualiser/visualiser.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualiser.ts
rename to public/coding_challenges/sorting_visualiser/visualiser.ts
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/pie.js b/public/coding_challenges/sorting_visualiser/visualisers/pie.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/pie.js
rename to public/coding_challenges/sorting_visualiser/visualisers/pie.js
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/pie.js.map b/public/coding_challenges/sorting_visualiser/visualisers/pie.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/pie.js.map
rename to public/coding_challenges/sorting_visualiser/visualisers/pie.js.map
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/pie.ts b/public/coding_challenges/sorting_visualiser/visualisers/pie.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/pie.ts
rename to public/coding_challenges/sorting_visualiser/visualisers/pie.ts
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/scatter.js b/public/coding_challenges/sorting_visualiser/visualisers/scatter.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/scatter.js
rename to public/coding_challenges/sorting_visualiser/visualisers/scatter.js
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/scatter.js.map b/public/coding_challenges/sorting_visualiser/visualisers/scatter.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/scatter.js.map
rename to public/coding_challenges/sorting_visualiser/visualisers/scatter.js.map
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/scatter.ts b/public/coding_challenges/sorting_visualiser/visualisers/scatter.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/scatter.ts
rename to public/coding_challenges/sorting_visualiser/visualisers/scatter.ts
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/spiral.js b/public/coding_challenges/sorting_visualiser/visualisers/spiral.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/spiral.js
rename to public/coding_challenges/sorting_visualiser/visualisers/spiral.js
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/spiral.js.map b/public/coding_challenges/sorting_visualiser/visualisers/spiral.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/spiral.js.map
rename to public/coding_challenges/sorting_visualiser/visualisers/spiral.js.map
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/spiral.ts b/public/coding_challenges/sorting_visualiser/visualisers/spiral.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/spiral.ts
rename to public/coding_challenges/sorting_visualiser/visualisers/spiral.ts
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/standard.js b/public/coding_challenges/sorting_visualiser/visualisers/standard.js
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/standard.js
rename to public/coding_challenges/sorting_visualiser/visualisers/standard.js
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/standard.js.map b/public/coding_challenges/sorting_visualiser/visualisers/standard.js.map
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/standard.js.map
rename to public/coding_challenges/sorting_visualiser/visualisers/standard.js.map
diff --git a/public/coding_challenges/sorting-visualiser/visualisers/standard.ts b/public/coding_challenges/sorting_visualiser/visualisers/standard.ts
similarity index 100%
rename from public/coding_challenges/sorting-visualiser/visualisers/standard.ts
rename to public/coding_challenges/sorting_visualiser/visualisers/standard.ts