diff --git a/build/includes/global/settings_functions.hpp b/build/includes/global/settings_functions.hpp
index b6f1295b38304030c4a79808379e11d7a305e2c1..c0985db230b97e7073a6296285ad057306abeeb8 100644
--- a/build/includes/global/settings_functions.hpp
+++ b/build/includes/global/settings_functions.hpp
@@ -15,6 +15,9 @@ struct Distributed_Settings {
     int port;               // the port number of the server actor
     int total_hru_count;
     int num_hru_per_batch;
+    int heartbeat_interval; // number of seconds between each heartbeat message
+    int lost_node_threshold; // the maximum value the lost_potentail_indicator value can be before
+    // we assume the node is lost
 };
 
 template<class Inspector>
@@ -24,7 +27,9 @@ bool inspect(Inspector& inspector, Distributed_Settings& distributed_settings) {
                 inspector.field("hostname",         distributed_settings.hostname),
                 inspector.field("port",             distributed_settings.port),
                 inspector.field("total_hru_count",  distributed_settings.total_hru_count),
-                inspector.field("num_hru_per_batch",distributed_settings.num_hru_per_batch));
+                inspector.field("num_hru_per_batch",distributed_settings.num_hru_per_batch),
+                inspector.field("heartbeat_interval",distributed_settings.heartbeat_interval),
+                inspector.field("lost_node_threshold",distributed_settings.lost_node_threshold));
 }
 
 
diff --git a/build/includes/summa_actor/client.hpp b/build/includes/summa_actor/client.hpp
index 3da062d621384d4eefb1401c69b0a900a570d554..5883e9835d6b6ea22a5e82445e0d6b3aa630ea51 100644
--- a/build/includes/summa_actor/client.hpp
+++ b/build/includes/summa_actor/client.hpp
@@ -82,7 +82,7 @@ class Client {
 class Client_Container {
     private:
         int num_clients = 0;
-        int lost_client_threshold = 3; // value to determine if client is lost
+        int lost_client_threshold; // value to determine if client is lost
         std::vector<Client> client_list;
 
 
@@ -90,7 +90,7 @@ class Client_Container {
         /**
          * @brief Construct a new Client_Container object
          */
-        Client_Container();
+        Client_Container(int lost_node_threshold);
 
         // Getters
         /**
diff --git a/build/includes/summa_actor/summa_server.hpp b/build/includes/summa_actor/summa_server.hpp
index bd2f66bd6f23cd63863a8cf651b9e0c538b79e31..27fa35e4576f4096049faa1e68f946c34c4bd023 100644
--- a/build/includes/summa_actor/summa_server.hpp
+++ b/build/includes/summa_actor/summa_server.hpp
@@ -25,7 +25,6 @@ struct summa_server_state {
     Client_Container *client_container;
     Batch_Container *batch_container;
 
-    int heartbeat_interval = 20;
     caf::actor health_check_reminder_actor;
 
     Distributed_Settings distributed_settings;
diff --git a/build/source/actors/global/settings_functions.cpp b/build/source/actors/global/settings_functions.cpp
index 37f1270ab6bfd98395d3e5168c94cfa9483e6d83..b0656ba5cc403767195f3a11524e4c84eefa9626 100644
--- a/build/source/actors/global/settings_functions.cpp
+++ b/build/source/actors/global/settings_functions.cpp
@@ -26,6 +26,12 @@ int read_settings_from_json(std::string json_settings_file,
     distributed_settings.num_hru_per_batch = getSettings(json_settings_file, parent_key,
         "num_hru_per_batch", distributed_settings.num_hru_per_batch).value_or(-1);
 
+    distributed_settings.heartbeat_interval = getSettings(json_settings_file, parent_key,
+        "heartbeat_interval", distributed_settings.heartbeat_interval).value_or(-1);
+    
+    distributed_settings.lost_node_threshold = getSettings(json_settings_file, parent_key,
+        "lost_node_threshold", distributed_settings.lost_node_threshold).value_or(-1);
+
     
     // read settings for summa actor
     parent_key = "Summa_Actor";    
@@ -75,7 +81,9 @@ void check_settings_from_json(Distributed_Settings &distributed_settings,
     std::cout << distributed_settings.hostname << "\n";
     std::cout << distributed_settings.port << "\n";
     std::cout << distributed_settings.total_hru_count << "\n";
-    std::cout << distributed_settings.num_hru_per_batch << "\n\n\n";
+    std::cout << distributed_settings.num_hru_per_batch << "\n";
+    std::cout << distributed_settings.heartbeat_interval << "\n";
+    std::cout << distributed_settings.lost_node_threshold << "\n\n\n";
 
     std::cout << "************ SUMMA_ACTOR_SETTINGS ************\n";
     std::cout << summa_actor_settings.max_gru_per_job << "\n\n\n";
diff --git a/build/source/actors/main.cpp b/build/source/actors/main.cpp
index 78b02269400d50b6357eeb48f706dc7c499a66e9..c4ab5caf09548143b71a58e4f0a35511febff4fc 100644
--- a/build/source/actors/main.cpp
+++ b/build/source/actors/main.cpp
@@ -101,8 +101,10 @@ void caf_main(actor_system& sys, const config& cfg) {
 
     aout(self) << "Printing Settings For SUMMA Simulation\n";
     check_settings_from_json(distributed_settings,
-        summa_actor_settings, file_access_actor_settings, job_actor_settings,
-        hru_actor_settings);
+                            summa_actor_settings, 
+                            file_access_actor_settings, 
+                            job_actor_settings,
+                            hru_actor_settings);
 
     if (distributed_settings.distributed_mode) {
         // only command line arguments needed are config_file and server-mode
diff --git a/build/source/actors/summa_actor/client.cpp b/build/source/actors/summa_actor/client.cpp
index 52c36531129f68af6e34ce896de139079c85a70b..34f81cf81faeaf24b1b42f20bc20bec3268e2cb7 100644
--- a/build/source/actors/summa_actor/client.cpp
+++ b/build/source/actors/summa_actor/client.cpp
@@ -47,7 +47,9 @@ void Client::decrementLostPotential() {
 ////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////
 
-Client_Container::Client_Container() {}
+Client_Container::Client_Container(int lost_node_threshold) {
+    this->lost_client_threshold = lost_node_threshold;
+}
 
 void Client_Container::addClient(caf::actor client_actor, std::string hostname) {
     int client_id = this->num_clients;
diff --git a/build/source/actors/summa_actor/summa_server.cpp b/build/source/actors/summa_actor/summa_server.cpp
index e526d112ecfae629ac01e7399603a275cb80d767..bab058610bcb4adee52ceb9fa086a5de420de554 100644
--- a/build/source/actors/summa_actor/summa_server.cpp
+++ b/build/source/actors/summa_actor/summa_server.cpp
@@ -24,7 +24,7 @@ behavior summa_server(stateful_actor<summa_server_state>* self, Distributed_Sett
     self->state.job_actor_settings = job_actor_settings;
     self->state.hru_actor_settings = hru_actor_settings;
 
-    self->state.client_container = new Client_Container();
+    self->state.client_container = new Client_Container(self->state.distributed_settings.lost_node_threshold);
     self->state.batch_container = new Batch_Container(
             self->state.distributed_settings.total_hru_count,
             self->state.distributed_settings.num_hru_per_batch);
@@ -34,7 +34,7 @@ behavior summa_server(stateful_actor<summa_server_state>* self, Distributed_Sett
      // Start the heartbeat actor after a client has connected
     self->state.health_check_reminder_actor = self->spawn(cleint_health_check_reminder);
     self->send(self->state.health_check_reminder_actor, 
-        start_health_check_v, self, self->state.heartbeat_interval);
+        start_health_check_v, self, self->state.distributed_settings.heartbeat_interval);
 
     return {
         /**
@@ -116,7 +116,7 @@ behavior summa_server(stateful_actor<summa_server_state>* self, Distributed_Sett
                 }
             }
             self->send(self->state.health_check_reminder_actor, 
-                start_health_check_v, self, self->state.heartbeat_interval);
+                start_health_check_v, self, self->state.distributed_settings.heartbeat_interval);
         },
 
         [=](heartbeat, int client_id) {