diff --git a/build/includes/summa_actor/summa_actor.hpp b/build/includes/summa_actor/summa_actor.hpp
index ef055779247059dac9f2022e191bb92b05ff4ea3..c87c6a52e41ad70717c6efb0676c19f8472e6f57 100644
--- a/build/includes/summa_actor/summa_actor.hpp
+++ b/build/includes/summa_actor/summa_actor.hpp
@@ -12,16 +12,15 @@ namespace caf {
 
 
 struct job_timing_info {
-    std:
-    std::chrono::time_point<std::chrono::system_clock> start;
-    std::chrono::time_point<std::chrono::system_clock> end;
-    double summa_actor_duration;
-
+    std::vector<double> job_duration;
+    std::vector<double> job_read_duration;
+    std::vector<double> job_write_duration;
 };
 
 struct summa_actor_state {
     // Timing Information For Summa-Actor
     TimingInfo summa_actor_timing;
+    struct job_timing_info timing_info_for_jobs;
 
     // Program Parameters
     int startGRU;           // starting GRU for the simulation
diff --git a/build/source/actors/summa_actor/summa_actor.cpp b/build/source/actors/summa_actor/summa_actor.cpp
index 10049d764c4409f1ee9c40b55870754ad86e35bf..7f941abbd568abee6e0aacf782120b471529a794 100644
--- a/build/source/actors/summa_actor/summa_actor.cpp
+++ b/build/source/actors/summa_actor/summa_actor.cpp
@@ -40,14 +40,31 @@ behavior summa_actor(stateful_actor<summa_actor_state>* self, int startGRU, int
 	return {
 		[=](done_job, int numFailed, double job_duration, double read_duration, double write_duration) {
 			self->state.numFailed += numFailed;
-			aout(self) << "Job Done\n"; 
+
+			self->state.timing_info_for_jobs.job_duration.push_back(job_duration);
+			self->state.timing_info_for_jobs.job_read_duration.push_back(read_duration);
+			self->state.timing_info_for_jobs.job_write_duration.push_back(write_duration);
+
 			if (self->state.numGRU <= 0) {
 				self->state.summa_actor_timing.updateEndPoint("total_duration");
+
+				for (std::vector<int>::size_type i = 0; i < self->state.timing_info_for_jobs.job_duration.size(); i++) {
+					aout(self) << "\n________________Job " << i + 1 << " Info_______________\n";
+					aout(self) << "Job Duration = " << self->state.timing_info_for_jobs.job_duration[i] << "\n";
+					aout(self) << "Job Read Duration = " << self->state.timing_info_for_jobs.job_read_duration[i] << "\n";
+					aout(self) << "Job Write Duration = " << self->state.timing_info_for_jobs.job_write_duration[i] << "\n";
+				}
 				
 				aout(self) << "\n________________SUMMA_ACTOR TIMING INFO________________\n";
 				aout(self) << "Total Duration = " << self->state.summa_actor_timing.getDuration("total_duration").value_or(-1.0) << " Seconds\n";
 				aout(self) << "Total Duration = " << self->state.summa_actor_timing.getDuration("total_duration").value_or(-1.0) / 60 << " Minutes\n";
 				aout(self) << "Total Duration = " << (self->state.summa_actor_timing.getDuration("total_duration").value_or(-1.0) / 60) / 60 << " Hours\n\n";
+				aout(self) << "Total Read Duration = " << std::accumulate(self->state.timing_info_for_jobs.job_read_duration.begin(),
+																		self->state.timing_info_for_jobs.job_read_duration.end(),
+																		0.0) << "Seconds \n";
+				aout(self) << "Total Write Duration = " << std::accumulate(self->state.timing_info_for_jobs.job_write_duration.begin(),
+																		self->state.timing_info_for_jobs.job_write_duration.end(),
+																		0.0) << "Seconds \n";
 				aout(self) << "Program Finished \n";
 
 				self->send(self->state.parent, done_batch_v, self->state.summa_actor_timing.getDuration("total duration").value_or(-1.0));