diff --git a/server.py b/server.py
index b797fe19643a6ab4849f10ce4f7ee26d03976f0d..42d17e89cbbf99390a9049360b6b280608338f34 100644
--- a/server.py
+++ b/server.py
@@ -40,6 +40,7 @@ class Server(multiprocessing.Process):
         self.active_interface = self.get_active_interface()
         self.server_address = self.get_local_ip_address()
         self.subnet_mask = self.get_subnet_mask(self.active_interface)
+        self.broadcast_address = self.get_broadcast_address()
         print(self.active_interface)
         self.last_heartbeat_timestamp = last_heartbeat_timestamp
         self.ring_socket = ring_socket
@@ -127,7 +128,7 @@ class Server(multiprocessing.Process):
         print("I'm alive")
 
         # Get the broadcast address from the existing server_instance
-        broadcast_address = self.get_broadcast_address()     
+        broadcast_address = self.broadcast_address   
         if broadcast_address is None:
             print("Failed to obtain broadcast address. Exiting.")
             exit(1)
@@ -371,7 +372,7 @@ class Server(multiprocessing.Process):
     def listen_for_servers(self):
 
         BROADCAST_PORT = 49154
-        BROADCAST_ADDRESS = self.get_broadcast_address()
+        BROADCAST_ADDRESS = self.broadcast_address
 
         # Create a UDP socket
         listen_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
@@ -419,7 +420,7 @@ class Server(multiprocessing.Process):
     def listen_for_clients(self):
         
         BROADCAST_PORT = 49153
-        BROADCAST_ADDRESS = self.get_broadcast_address()
+        BROADCAST_ADDRESS = self.broadcast_address
 
         # Create a UDP socket
         listen_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
@@ -527,7 +528,7 @@ class Server(multiprocessing.Process):
     # send updated group view/servers cache to all server
     def updateCacheList(self):
         PORT = 5980
-        BROADCAST_ADDRESS = self.get_broadcast_address()
+        BROADCAST_ADDRESS = self.broadcast_address
         servers_cache_as_string = json.dumps(self.local_servers_cache, indent=2).encode('utf-8')
         clients_cache_as_string = json.dumps(self.local_clients_cache, indent=2).encode('utf-8')
         group_cache_as_string = json.dumps(self.local_group_cache, indent=2).encode('utf-8')
@@ -537,7 +538,7 @@ class Server(multiprocessing.Process):
         broadcast_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
         broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-        time.sleep(3)
+        time.sleep(2)
 
         if self.os == "macOS":
             broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
@@ -549,7 +550,7 @@ class Server(multiprocessing.Process):
 
     # listen for update of the groupview/server cache by MAIN server
     def listen_for_cache_update(self):
-        BROADCAST_ADDRESS = self.get_broadcast_address()
+        BROADCAST_ADDRESS = self.broadcast_address
         BROADCAST_PORT = 5980
 
         # Local host information