diff --git a/build/includes/global/message_atoms.hpp b/build/includes/global/message_atoms.hpp
index 7f78f6b9947f7ac57813559d524514ffeebe10fe..b20a3693bd10cf54fe663abb0616c4fe338a638f 100644
--- a/build/includes/global/message_atoms.hpp
+++ b/build/includes/global/message_atoms.hpp
@@ -52,6 +52,7 @@ CAF_BEGIN_TYPE_ID_BLOCK(summa, first_custom_type_id)
     // Reciever: summa_actor
     // Summary: job_actor finished job
     CAF_ADD_ATOM(summa, done_job)
+    CAF_ADD_ATOM(summa, exit_msg)
     // Sender: 
     // Reciever: 
     // Summary:
diff --git a/build/source/actors/hru_actor/hru_batch_actor.cpp b/build/source/actors/hru_actor/hru_batch_actor.cpp
index 9cde3fd7c08a9afe95f84daf90ac11c228892367..52801e36b86bb817f0a452df82c72df191564733 100644
--- a/build/source/actors/hru_actor/hru_batch_actor.cpp
+++ b/build/source/actors/hru_actor/hru_batch_actor.cpp
@@ -6,10 +6,6 @@ behavior hru_batch_actor(stateful_actor<hru_batch_state>* self,
                          int start_gru_local, int start_gru_global, int num_gru,
                          HRU_Actor_Settings hru_actor_settings,
                          caf::actor file_access_actor, caf::actor parent) {
-  // aout(self) << "HRU Batch Actor Started\n"
-  //            << "\tStart GRU Local: " << start_gru_local << "\n"
-  //            << "\tStart GRU Global: " << start_gru_global << "\n"
-  //            << "\tNum GRU: " << num_gru << "\n";
   
   self->state.file_access_actor = file_access_actor;
   self->state.parent = parent;
@@ -45,6 +41,12 @@ behavior hru_batch_actor(stateful_actor<hru_batch_state>* self,
         self->send(self->state.parent, done_update_v);
         self->state.num_done = 0;
       }
+    },
+    [=](exit_msg) {
+      for(auto& hru_actor : self->state.hru_actors) {
+        self->send_exit(hru_actor, exit_reason::user_shutdown);
+      }
+      self->quit();
     }
   };
 
diff --git a/build/source/actors/job_actor/job_actor.cpp b/build/source/actors/job_actor/job_actor.cpp
index 96336f83f7e7a358f78e7db356713e7e451e4192..4fb0ba91fa96c84d7dc78062e1b07c442b8309ad 100644
--- a/build/source/actors/job_actor/job_actor.cpp
+++ b/build/source/actors/job_actor/job_actor.cpp
@@ -65,15 +65,17 @@ behavior job_actor(stateful_actor<job_state>* self,
   job_init_fortran(self->state.job_actor_settings.file_manager_path.c_str(),
                    &self->state.start_gru, &self->state.num_gru, 
                    &self->state.num_hru, &err);
-  if (err != 0) { aout(self) << "\nERROR: Job_Actor - job_init_fortran\n"; return {}; }
+  if (err != 0) { 
+    aout(self) << "\nERROR: Job_Actor - job_init_fortran\n"; 
+    return {};
+  }
   
 
   // Spawn the file_access_actor.
   self->state.file_access_actor = self->spawn(file_access_actor, 
-                                              self->state.start_gru, 
-                                              self->state.num_gru, 
-                                              self->state.file_access_actor_settings, 
-                                              self);
+      self->state.start_gru, self->state.num_gru, 
+      self->state.file_access_actor_settings, 
+      self);
 
 
   aout(self) << "Job Actor Initialized \n";
@@ -151,7 +153,8 @@ behavior job_actor(stateful_actor<job_state>* self,
             if (err != 0) {
               aout(self) << "Job_Actor: Error Writing Output\n";
               for (auto GRU : self->state.gru_container.gru_list)
-                self->send_exit(GRU->getGRUActor(), exit_reason::user_shutdown);
+                self->send(GRU->getGRUActor(), exit_msg_v);
+                // self->send_exit(GRU->getGRUActor(), exit_reason::user_shutdown);
               
               self->send_exit(self->state.file_access_actor, 
                               exit_reason::user_shutdown);
diff --git a/build/source/actors/summa_actor/summa_actor.cpp b/build/source/actors/summa_actor/summa_actor.cpp
index 9e378d6791da9ca63ece13d85dd3dcc7b1878580..fae8f31bf93adc6eb7fa9d0ddf25fb6cb0508550 100644
--- a/build/source/actors/summa_actor/summa_actor.cpp
+++ b/build/source/actors/summa_actor/summa_actor.cpp
@@ -117,6 +117,7 @@ behavior summa_actor(stateful_actor<summa_actor_state>* self,
         
         self->send(self->state.parent, done_batch_v, total_dur_sec, 
                    read_dur_sec, write_dur_sec);
+        exit(0);
       }
     },