diff --git a/hardware_components/mux_2024_rev_0_0.py b/hardware_components/mux_2024_rev_0_0.py
index 866db231cea3af5a5d6eb495a27d4eced648c440..c7d927445a2dc73810bae5e29c5a8a5e34823618 100644
--- a/hardware_components/mux_2024_rev_0_0.py
+++ b/hardware_components/mux_2024_rev_0_0.py
@@ -95,14 +95,13 @@ class Mux(MuxAbstract):
             self._tca = self.controller.bus
         else:
             self._tca = adafruit_tca9548a.TCA9548A(self.controller.bus, tca_address)[tca_channel]
-        self._mcp = [0, 0]
-        self._mcp[0] = MCP23017(self._tca, address=int(kwargs.pop('mcp_0', '0x22'), 16))  # TODO add assert on valid addresses..
-        self._mcp[1] = MCP23017(self._tca, address=int(kwargs.pop('mcp_1', '0x23'), 16))
+        self._mcp_addresses = (kwargs.pop('mcp_0', '0x22'), kwargs.pop('mcp_1', '0x23'))  # TODO add assert on valid addresses..
+        self._mcp = (None, None)
+        self.reset()
         if self.addresses is None:
             self._get_addresses()
         self.exec_logger.debug(f'addresses: {self.addresses}')
 
-
     def _get_addresses(self):
         d = inner_cabling[self._mode]
         self.addresses = {}
@@ -110,22 +109,9 @@ class Mux(MuxAbstract):
             self.addresses.update({(k[0], self._roles[k[1]]): v})
         print(f'addresses: {self.addresses}')
 
-    # def _get_addresses(self, addresses_file):  TODO : delete me
-    #     self.exec_logger.debug('Getting addresses...')
-    #     with open(addresses_file, 'r') as f:
-    #         x = json.load(f)
-    #
-    #     self.addresses = {}
-    #     for k, v in x.items():
-    #         y = k.strip('(').strip(')').split(', ')
-    #         if v['TCA_address'] is not None:
-    #             v['TCA_address'] = int(v['TCA_address'], 16)
-    #         if v['MCP_address'] is not None:
-    #             v['MCP_address'] = int(x[k]['MCP_address'], 16)
-    #         self.addresses.update({(int(y[0]), y[1]): v})
-
     def reset(self):
-        pass
+        self._mcp[0] = MCP23017(self._tca, address=int(self._mcp_addresses[0], 16))
+        self._mcp[1] = MCP23017(self._tca, address=int(self._mcp_addresses[0], 16))
 
     def switch_one(self, elec=None, role=None, state=None):
         MuxAbstract.switch_one(self, elec=elec, role=role, state=state)
diff --git a/test_mux_2024.py b/test_mux_2024.py
index 7de578c9295606d5a8a9c9237ab7403c2ee95bcf..e9b2e1828180ff573237be783a2c502ab78a8378 100644
--- a/test_mux_2024.py
+++ b/test_mux_2024.py
@@ -11,6 +11,7 @@ time.sleep(2)
 mux.switch_one(elec=1, role='M', state='off')
 mux.switch({'A': [1], 'B': [4], 'M': [2], 'N': [3]}, state='on')
 time.sleep(8)
-mux.switch({'A': [1], 'B': [4], 'M': [2], 'N': [3]}, state='off')
+#mux.switch({'A': [1], 'B': [4], 'M': [2], 'N': [3]}, state='off')
+mux.reset()
 # mux.test({'A': [1, 2, 3, 4], 'B': [4, 5, 6, 7], 'M': [2, 3, 4, 5], 'N': [3, 4, 5, 6]})
 change_config('config_default.py', verbose=False)