diff --git a/build/includes/summa_actor/batch_manager.hpp b/build/includes/summa_actor/batch_manager.hpp
index f1416a9fa209c6ea152cf7e8f6113192ddbde39c..1bdb554b2c0de94aa53289d823a0c2623eb6ae58 100644
--- a/build/includes/summa_actor/batch_manager.hpp
+++ b/build/includes/summa_actor/batch_manager.hpp
@@ -10,8 +10,10 @@ class Batch {
         int batch_id;
         int start_hru;
         int num_hru;
-
+        
         bool assigned_to_actor;
+        std::string hostname;
+        caf::actor assigned_actor;
 
      public:
         Batch(int batch_id = -1, int start_hru = -1, int num_hru = -1);
@@ -29,7 +31,9 @@ class Batch {
                         inspector.field("batch_id", batch.batch_id), 
                         inspector.field("start_hru", batch.start_hru),
                         inspector.field("num_hru", batch.num_hru),
-                        inspector.field("status", batch.assigned_to_actor));
+                        inspector.field("status", batch.assigned_to_actor),
+                        inspector.field("hostname", batch.hostname),
+                        inspector.field("assigned_actor", batch.assigned_actor));
         }
 };
 
diff --git a/build/includes/summa_actor/client.hpp b/build/includes/summa_actor/client.hpp
index 876e8c701d28edfcdbb249ec7bdb8ffe28aecedb..6e985c46c969b3fa76f1587b3cf4b993d9a6ab38 100644
--- a/build/includes/summa_actor/client.hpp
+++ b/build/includes/summa_actor/client.hpp
@@ -50,4 +50,6 @@ class Client_Container {
          */
         void addClient(caf::actor client_actor, std::string hostname);
 
+        
+        int getClientID(caf::actor);
 };
\ No newline at end of file
diff --git a/build/includes/summa_actor/summa_client.hpp b/build/includes/summa_actor/summa_client.hpp
index 496429d236075e9a54049c129c95c428741f40d8..8afa70b6ca7810b964373289d8fbf9931325cecd 100644
--- a/build/includes/summa_actor/summa_client.hpp
+++ b/build/includes/summa_actor/summa_client.hpp
@@ -23,6 +23,7 @@ struct summa_client_state {
     Job_Actor_Settings job_actor_settings;
     HRU_Actor_Settings hru_actor_settings;
 };
+
 behavior summa_client(stateful_actor<summa_client_state>* self, std::optional<std::string> config_path);
 behavior unconnected(stateful_actor<summa_client_state>*);
 void connecting(stateful_actor<summa_client_state>*, const std::string& host, uint16_t port);
diff --git a/build/source/actors/summa_actor/batch_manager.cpp b/build/source/actors/summa_actor/batch_manager.cpp
index 43fabca8cac0b76f965f969273e00a263c8b6fb9..16ff2ca575594d4279e67409763422d280820ee9 100644
--- a/build/source/actors/summa_actor/batch_manager.cpp
+++ b/build/source/actors/summa_actor/batch_manager.cpp
@@ -29,13 +29,22 @@ void Batch_Container::assembleBatches(int total_hru_count, int num_hru_per_batch
     }
 }
 
-void Batch_Container::printBatches(){
+void Batch_Container::printBatches() {
     for (std::vector<int>::size_type i = 0; i < this->batch_list.size(); i++) {
         this->batch_list[i].printBatchInfo();
     }
 }
 
 
+Batch Batch_Container::assignBatch(std::string hostname, caf::actor actor_ref) {
+    for (std::vector<int>::size_type i = 0; i < this->batch_list.size(); i++) {
+        if (!this->batch_list[i].getBatchStatus()) {
+            return this->batch_list[i];
+        }
+    }
+    return NULL;
+}
+
 
 Batch::Batch(int batch_id, int start_hru, int num_hru){
     this->batch_id = batch_id;
diff --git a/build/source/actors/summa_actor/client.cpp b/build/source/actors/summa_actor/client.cpp
index 47dd301f0c6ac4d474e2bfd19e11f569638c6ebe..592a10a504da34142db832d2aa464d5114d1f6e2 100644
--- a/build/source/actors/summa_actor/client.cpp
+++ b/build/source/actors/summa_actor/client.cpp
@@ -32,4 +32,15 @@ void Client_Container::addClient(caf::actor client_actor, std::string hostname)
         Client{client_id, client_actor, hostname});
     
     this->num_clients++;
+
+}
+
+
+int Client_Container::getClientID(caf::actor client_actor) {
+    for (int i = 0; i < num_clients; i++) {
+        if (client_actor == this->client_list[i].getActor()){
+            return this->client_list[i].getID();
+        }
+    }
+    return -1;
 }
diff --git a/build/source/actors/summa_actor/summa_client.cpp b/build/source/actors/summa_actor/summa_client.cpp
index 6e7028df0071a947b0efa10bbe3817a9f2644a26..71b01c1f44a8385e875f6e7e21e30ddc1e9f7c9b 100644
--- a/build/source/actors/summa_actor/summa_client.cpp
+++ b/build/source/actors/summa_actor/summa_client.cpp
@@ -78,7 +78,7 @@ behavior running(stateful_actor<summa_client_state>* self, const actor& server_a
                 Job_Actor_Settings job_actor_settings, HRU_Actor_Settings hru_actor_settings) {
             
             aout(self) << "Successfully Connected to Server Actor \n"; 
-
+            aout(self) << "Recieved ID of " << client_id << "\n"; 
             self->state.client_id = client_id;
             self->state.summa_actor_settings = summa_actor_settings;
             self->state.file_access_actor_settings = file_access_actor_settings;
@@ -110,7 +110,6 @@ behavior running(stateful_actor<summa_client_state>* self, const actor& server_a
                 self->state.job_actor_settings,
                 self->state.hru_actor_settings,
                 self);
-            
         },
 
         [=](done_batch, double total_duration, double total_read_duration, double total_write_duration) {
diff --git a/build/source/actors/summa_actor/summa_server.cpp b/build/source/actors/summa_actor/summa_server.cpp
index 3b9de903d0e0d141556becea172c626963f11d01..b6c211f84b5e47328a2232cc879995abaa9fd0f1 100644
--- a/build/source/actors/summa_actor/summa_server.cpp
+++ b/build/source/actors/summa_actor/summa_server.cpp
@@ -28,20 +28,6 @@ behavior summa_server(stateful_actor<summa_server_state>* self, Distributed_Sett
     
     self->state.batch_container->printBatches();
 
-    // self->state.csv_output_name = "Batch_Results.csv";
-    // initializeCSVOutput(self->state.csv_output_name);
-
-    // aout(self) << "Assembling HRUs into Batches\n";
-    // if (assembleBatches(self) == -1) {
-    //     aout(self) << "ERROR: assembleBatches\n";
-    // } else {
-    //     aout(self) << "HRU Batches Assembled, Ready For Clients to Connect \n";
-
-    //     for (std::vector<int>::size_type i = 0; i < self->state.batch_list.size(); i++) {
-    //         self->state.batch_list[i].printBatchInfo();
-    //     }
-    // }
-
     return {
         /**
          * @brief A message from a client requresting to connect
@@ -56,10 +42,13 @@ behavior summa_server(stateful_actor<summa_server_state>* self, Distributed_Sett
             self->state.client_container->addClient(client_actor, hostname);
 
             // Tell client they are connected
-            self->send(client_actor, connect_to_server_v, 1, self->state.summa_actor_settings, 
-                self->state.file_access_actor_settings, self->state.job_actor_settings, self->state.hru_actor_settings);
+            self->send(client_actor, connect_to_server_v, self->state.client_container->getClientID(client_actor), 
+                self->state.summa_actor_settings, self->state.file_access_actor_settings, self->state.job_actor_settings, 
+                self->state.hru_actor_settings);
 
             
+            
+            Batch batch = self->state.batch_container->assignBatch(hostname, client_actor);
 
             // std::optional<int> batch_id = getUnsolvedBatchID(self);
             // if (batch_id.has_value()) {