diff --git a/build/includes/summa_actor/summa_actor.hpp b/build/includes/summa_actor/summa_actor.hpp
index 91859eb18509d93849c5db4f34a725632b0b6854..3d08d25a0073f3c720a2be1b78f5d7f8ebff9d3e 100644
--- a/build/includes/summa_actor/summa_actor.hpp
+++ b/build/includes/summa_actor/summa_actor.hpp
@@ -33,7 +33,6 @@ behavior summa_actor(stateful_actor<summa_actor_state>* self, int startGRU, int
 
 void spawnJob(stateful_actor<summa_actor_state>* self);
 
-void parseSettings(stateful_actor<summa_actor_state>* self, std::string configPath);
 
 
 
diff --git a/build/source/actors/summa_actor/summa_actor.cpp b/build/source/actors/summa_actor/summa_actor.cpp
index 570872c2ce68f668d66bc3eaf4aee7e156b4610a..20fcde739d3f2de9c1d484ca0689f2765e169a8d 100644
--- a/build/source/actors/summa_actor/summa_actor.cpp
+++ b/build/source/actors/summa_actor/summa_actor.cpp
@@ -22,7 +22,11 @@ behavior summa_actor(stateful_actor<summa_actor_state>* self, int startGRU, int
 	self->state.configPath = configPath;
 	self->state.parent = parent;
 
-	parseSettings(self, configPath);
+	self->state.outputStrucSize = getSettings(self->state.configPath, "SummaActor", "OuputStructureSize", 
+		self->state.outputStrucSize).value_or(250);
+	self->state.maxGRUPerJob = getSettings(self->state.configPath, "SummaActor", "maxGRUPerJob",
+		self->state.maxGRUPerJob).value_or(100);
+
 	aout(self) << "SETTINGS FOR SUMMA_ACTOR\n";
 	aout(self) << "Output Structure Size = " << self->state.outputStrucSize << "\n";
 	aout(self) << "Max GRUs Per Job = " << self->state.maxGRUPerJob << "\n";
@@ -48,11 +52,7 @@ behavior summa_actor(stateful_actor<summa_actor_state>* self, int startGRU, int
             	aout(self) << "     " << ((self->state.duration / 1000) / 60) / 60 << " Hours\n";
 				aout(self) << "Program Finished \n";
 
-			
-				self->send(self->state.parent, done_batch_v, self->state.duration);
-			
-
-
+				self->send(self->state.parent, done_batch_v, self->state.duration);		
 
 			} else {
 				// spawn a new job
@@ -87,37 +87,4 @@ void spawnJob(stateful_actor<summa_actor_state>* self) {
 		self->state.numGRU = 0;
 	}
 }
-
-void parseSettings(stateful_actor<summa_actor_state>* self, std::string configPath) {
-	json settings;
-	std::string SummaActorsSettings = "/Summa_Actors_Settings.json";
-	std::ifstream settings_file(configPath + SummaActorsSettings);
-	settings_file >> settings;
-	settings_file.close();
-	
-	if (settings.find("SummaActor") != settings.end()) {
-		json SummaActorConfig = settings["SummaActor"];
-		
-		// Find the desired OutputStrucSize
-		if (SummaActorConfig.find("OuputStructureSize") != SummaActorConfig.end()) {
-			self->state.outputStrucSize = SummaActorConfig["OuputStructureSize"];
-		} else {
-			aout(self) << "Error Finding OutputStructureSize in JOSN - Reverting to default value\n";
-			self->state.outputStrucSize = 250;
-		}
-
-		// Find the desired maxGRUPerJob size
-		if (SummaActorConfig.find("maxGRUPerJob") != SummaActorConfig.end()) {
-			self->state.maxGRUPerJob = SummaActorConfig["maxGRUPerJob"];
-		} else {
-			aout(self) << "Error Finding maxGRUPerJob in JOSN - Reverting to default value\n";
-			self->state.maxGRUPerJob = 500;
-		}
-
-	} else {
-		aout(self) << "Error Finding SummaActor in JSON - Reverting to default values\n";
-		self->state.outputStrucSize = 250;
-		self->state.maxGRUPerJob = 500;
-	}
-}
 } // end namespace