diff --git a/dependencies/testproject_featuredemo.cpp b/dependencies/testproject_featuredemo.cpp
index 7c6eb881cb6efedb487dcaee7440e1141ea5c556..de9722bfde98792958fd728a30d12728463ec2eb 100644
--- a/dependencies/testproject_featuredemo.cpp
+++ b/dependencies/testproject_featuredemo.cpp
@@ -1,11 +1,12 @@
 #define _USE_MATH_DEFINES
-#include <AnimationWindow.h>
+#include "AnimationWindow.h"
 
 #include <chrono>
 #include <climits>
 #include <cmath>
 #include <iostream>
 #include <random>
+#include <map>
 
 #include "widgets/Button.h"
 #include "widgets/TextInput.h"
@@ -19,6 +20,14 @@ struct Ball {
     TDT4102::Color colour = TDT4102::Color::white;
 };
 
+std::map<std::string, const TDT4102::Color&> stringToColor {
+    {"red", TDT4102::Color::red},
+    {"gold", TDT4102::Color::gold},
+    {"green", TDT4102::Color::green},
+    {"rebecca_purple", TDT4102::Color::rebecca_purple},
+    {"blue", TDT4102::Color::blue},
+};
+
 int x = 10;
 
 inline int randint(int min, int max) {
@@ -62,6 +71,8 @@ int main(int argc, char* argv[]) {
     image.width = 100;
     image.height = 100;
 
+    std::vector<std::string> colors{"red", "gold", "green", "rebecca_purple", "blue"};
+
     std::vector<Ball> circles;
     circles.resize(5000);
     for (unsigned int i = 0; i < circles.size(); i++) {
@@ -70,7 +81,9 @@ int main(int argc, char* argv[]) {
         circles.at(i).radius = randint(5, 10);
         circles.at(i).xSpeed = float(randint(-400, 400)) / 100.0f;
         circles.at(i).ySpeed = float(randint(-400, 400)) / 100.0f;
-        circles.at(i).colour = TDT4102::Color(randint(INT_MIN, INT_MAX) & 0xFFFFFF00);
+        // circles.at(i).colour = TDT4102::Color(randint(INT_MIN, INT_MAX) & 0xFFFFFF00);
+        circles.at(i).colour = stringToColor.at(colors.at(randint(0, (colors.size()-1))));
+        // circles.at(i).colour = TDT4102::Color::rebecca_purple;
     }
     while (!window.should_close()) {
         if (window.is_key_down(KeyboardKey::A)) {