diff --git a/projects/fire_works/src/main.cpp b/projects/fire_works/src/main.cpp
index 3bf4714d8241466345534fb5162a6f6c0fe9f3d6..f1af6c587ada798054fd868c8d1603ccde41b5e9 100644
--- a/projects/fire_works/src/main.cpp
+++ b/projects/fire_works/src/main.cpp
@@ -185,6 +185,12 @@ void InitializeNestedFireworkEvents(std::vector<event_t>& events) {
 						10.0f, 1.0f, 0.0f, 0);
 }
 
+void ChangeColor(std::vector<event_t>& events, glm::vec3 color) {
+	for (int i = 0; i < events.size(); i++) {
+		events [i].color = color;
+	}
+}
+
 int main(int argc, const char **argv) {
 	vkcv::Features features;
 	
@@ -963,6 +969,8 @@ int main(int argc, const char **argv) {
 		bool nested = ImGui::Selectable("Nested Firework");
 		ImGui::EndListBox();
 		bool resetTime = ImGui::Button("Reset");
+		glm::vec3 color = glm::vec3(0.0f);
+		bool colorChanged = ImGui::ColorPicker3("Color", (float*) & color);
 		
 		ImGui::End();
 		gui.endGUI();
@@ -1003,6 +1011,11 @@ int main(int argc, const char **argv) {
 			InitializeNestedFireworkEvents(events);
 			resetTime = true;
 		}
+
+		if (colorChanged) {
+			ChangeColor(events, color);
+			resetTime = true;
+		}
 		
 		if (resetTime) {
 			start = std::chrono::system_clock::now();