diff --git a/dev/test_measure_with_ohmpi_card_3_15.py b/dev/test_measure_with_ohmpi_card_3_15.py
index 15fb147468a2e73fc4530f337c40e1278045ba36..e20f4802e2398c9c939fdb2822ada152e89a3b61 100644
--- a/dev/test_measure_with_ohmpi_card_3_15.py
+++ b/dev/test_measure_with_ohmpi_card_3_15.py
@@ -10,12 +10,12 @@ k.exec_logger.setLevel(logging.INFO)
 
 # Test _vab_pulse:
 print('Testing positive _vab_pulse')
-k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=1)
+k._vab_pulse(vab=12, duration=1., sampling_rate=k.rx.sampling_rate, polarity=1)
 r = k.readings[:,4]/k.readings[:,3]
 print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
 print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mean(np.diff(k.readings[:,0]))*1000.:.1f} ms')
 print('\nTesting negative _vab_pulse')
-k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=-1)
+k._vab_pulse(vab=12, duration=1., sampling_rate=k.rx.sampling_rate, polarity=-1)
 r = k.readings[:,4]/k.readings[:,3]
 print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
 print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mean(np.diff(k.readings[:,0]))*1000.:.1f} ms')
diff --git a/ohmpi/hardware_components/abstract_hardware_components.py b/ohmpi/hardware_components/abstract_hardware_components.py
index 781b7b8f2b4a4c3b4043610a6ffa31d0994038b6..ae6f742964cf3cd3f44bb417e31eb3ac96848cd3 100644
--- a/ohmpi/hardware_components/abstract_hardware_components.py
+++ b/ohmpi/hardware_components/abstract_hardware_components.py
@@ -238,7 +238,7 @@ class MuxAbstract(ABC):
 class TxAbstract(ABC):
     def __init__(self, **kwargs):
         self.board_name = kwargs.pop('board_name', 'unknown TX hardware')
-        inj_time = kwargs.pop('inj_time', 1.)
+        injection_duration = kwargs.pop('injection_duration', 1.)
         self.exec_logger = kwargs.pop('exec_logger', None)
         if self.exec_logger is None:
             self.exec_logger = create_stdout_logger('exec_tx')
@@ -248,9 +248,9 @@ class TxAbstract(ABC):
         self.ctl = kwargs.pop('ctl', None)
         self.pwr = kwargs.pop('pwr', None)
         self._polarity = 0
-        self._inj_time = None
+        self._injection_duration = None
         self._adc_gain = 1.
-        self.inj_time = inj_time
+        self.injection_duration = injection_duration
         self._latency = kwargs.pop('latency', 0.)
         self.tx_sync = kwargs.pop('tx_sync', Event())
         self.exec_logger.debug(f'{self.board_name} TX initialization')
@@ -273,30 +273,30 @@ class TxAbstract(ABC):
         pass
 
     @abstractmethod
-    def inject(self, polarity=1, inj_time=None):
+    def inject(self, polarity=1, injection_duration=None):
         assert polarity in [-1, 0, 1]
-        if inj_time is None:
-            inj_time = self._inj_time
+        if injection_duration is None:
+            injection_duration = self._injection_duration
         if np.abs(polarity) > 0:
             self.pwr.turn_on()
             self.tx_sync.set()
-            time.sleep(inj_time)
+            time.sleep(injection_duration)
             self.pwr.turn_off()
         else:
             self.tx_sync.set()
             self.pwr.turn_off()
-            time.sleep(inj_time)
+            time.sleep(injection_duration)
         self.tx_sync.clear()
 
     @property
-    def inj_time(self):
-        return self._inj_time
+    def injection_duration(self):
+        return self._injection_duration
 
-    @inj_time.setter
-    def inj_time(self, value):
+    @injection_duration.setter
+    def injection_duration(self, value):
         assert isinstance(value, float)
         assert value > 0.
-        self._inj_time = value
+        self._injection_duration = value
 
     @property
     def polarity(self):
@@ -326,10 +326,10 @@ class TxAbstract(ABC):
             Polarity of the pulse
         """
         if length is None:
-            length = self.inj_time
+            length = self.injection_duration
         self.pwr.voltage = voltage
         self.exec_logger.debug(f'Voltage pulse of {polarity * self.pwr.voltage:.3f} V for {length:.3f} s')
-        self.inject(polarity=polarity, inj_time=length)
+        self.inject(polarity=polarity, injection_duration=length)
 
 
 class RxAbstract(ABC):
diff --git a/ohmpi/hardware_components/mb_2024_rev_0_0.py b/ohmpi/hardware_components/mb_2024_rev_0_0.py
index b9fcbdcad0bf858891d17af111b4012057e788ec..241777f90927e8390814670538a55c64c870f6c1 100644
--- a/ohmpi/hardware_components/mb_2024_rev_0_0.py
+++ b/ohmpi/hardware_components/mb_2024_rev_0_0.py
@@ -148,8 +148,8 @@ class Tx(TxAbstract):
         assert TX_CONFIG['current_min'] <= value <= TX_CONFIG['current_max']
         self.exec_logger.warning(f'Current pulse is not implemented for the {TX_CONFIG["model"]} board')
 
-    def inject(self, polarity=1, inj_time=None):
-        TxAbstract.inject(self, polarity=polarity, inj_time=inj_time)
+    def inject(self, polarity=1, injection_duration=None):
+        TxAbstract.inject(self, polarity=polarity, injection_duration=injection_duration)
         # move this part in DPS5005
         # if state=='on':
         #     self.DPS.write_register(0x09, 1)  # DPS5005 on
@@ -221,7 +221,7 @@ class Tx(TxAbstract):
         """
 
         if length is None:
-            length = self.inj_time
+            length = self.injection_duration
         if polarity is None:
             polarity = self.polarity
         self.polarity = polarity
diff --git a/ohmpi/hardware_components/ohmpi_card_3_15.py b/ohmpi/hardware_components/ohmpi_card_3_15.py
index 89a453f515dafd8f1278cf0bb23d4f3fe2e9e5f5..20c93a1016c40e072d84543896a192b23ed70d6d 100644
--- a/ohmpi/hardware_components/ohmpi_card_3_15.py
+++ b/ohmpi/hardware_components/ohmpi_card_3_15.py
@@ -153,9 +153,9 @@ class Tx(TxAbstract):
         assert TX_CONFIG['current_min'] <= value <= TX_CONFIG['current_max']
         self.exec_logger.warning(f'Current pulse is not implemented for the {TX_CONFIG["model"]} board')
 
-    def inject(self, polarity=1, inj_time=None):
+    def inject(self, polarity=1, injection_duration=None):
         self.polarity = polarity
-        TxAbstract.inject(self, polarity=polarity, inj_time=inj_time)
+        TxAbstract.inject(self, polarity=polarity, injection_duration=injection_duration)
 
     @property
     def polarity(self):
@@ -203,12 +203,12 @@ class Tx(TxAbstract):
             Polarity of the pulse
         """
         self.exec_logger.event(f'{self.board_name}\ttx_voltage_pulse\tbegin\t{datetime.datetime.utcnow()}')
-        # self.exec_logger.info(f'inj_time: {length}')  # TODO: delete me
+        # self.exec_logger.info(f'injection_duration: {length}')  # TODO: delete me
         if length is None:
-            length = self.inj_time
+            length = self.injection_duration
         self.pwr.voltage = voltage
         self.exec_logger.debug(f'Voltage pulse of {polarity*self.pwr.voltage:.3f} V for {length:.3f} s')
-        self.inject(polarity=polarity, inj_time=length)
+        self.inject(polarity=polarity, injection_duration=length)
         self.exec_logger.event(f'{self.board_name}\ttx_voltage_pulse\tend\t{datetime.datetime.utcnow()}')
 
 
diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py
index f84de68ec5a819ad4ed1c43e72718a0d3314be72..16110b04a80d1778668752cf30a12febf0585df9 100644
--- a/ohmpi/hardware_system.py
+++ b/ohmpi/hardware_system.py
@@ -145,10 +145,10 @@ class OhmPiHardware:
         self.rx.adc_gain_auto()
         self.exec_logger.event(f'OhmPiHardware\ttx_rx_gain_auto\tend\t{datetime.datetime.utcnow()}')
 
-    def _inject(self, polarity=1, inj_time=None):  # TODO: deal with voltage or current pulse
+    def _inject(self, polarity=1, injection_duration=None):  # TODO: deal with voltage or current pulse
         self.exec_logger.event(f'OhmPiHardware\tinject\tbegin\t{datetime.datetime.utcnow()}')
         # self.tx_sync.set()
-        self.tx.voltage_pulse(length=inj_time, polarity=polarity)
+        self.tx.voltage_pulse(length=injection_duration, polarity=polarity)
         # self.tx_sync.clear()
         self.exec_logger.event(f'OhmPiHardware\tinject\tend\t{datetime.datetime.utcnow()}')
 
@@ -190,9 +190,7 @@ class OhmPiHardware:
             sample += 1
             sleep_time = self._start_time + datetime.timedelta(seconds=sample / sampling_rate) - lap
             if sleep_time.total_seconds() < 0.:
-                # for i in range(int(sampling_rate * np.abs(sleep_time.total_seconds()))):
-                #    _readings.append([elapsed_seconds(self._start_time), self._pulse, self.tx.polarity, np.nan, np.nan])
-                #    sample += 1
+                # TODO: count how many samples were skipped to make a stat that could be used to qualify pulses
                 sample += int(sampling_rate * np.abs(sleep_time.total_seconds())) + 1
                 sleep_time = self._start_time + datetime.timedelta(seconds=sample / sampling_rate) - lap
             time.sleep(np.max([0., sleep_time.total_seconds()]))
@@ -286,7 +284,7 @@ class OhmPiHardware:
             sampling_rate = 1000.0 / best_tx_injtime  # TODO: check this...
         else:
             sampling_rate = self.tx.sampling_rate
-        self._vab_pulse(vab=vab, length=best_tx_injtime, sampling_rate=sampling_rate)  # TODO: use a square wave pulse?
+        self._vab_pulse(vab=vab, duration=best_tx_injtime, sampling_rate=sampling_rate)  # TODO: use a square wave pulse?
         vmn = np.mean(self.readings[:, 4])
         iab = np.mean(self.readings[:, 3])
         # if np.abs(vmn) is too small (smaller than voltage_min), strategy is not constant and vab < vab_max ,
@@ -327,21 +325,21 @@ class OhmPiHardware:
     def calibrate_rx_bias(self):
         self.rx._bias = (np.mean(self.readings[self.readings[:, 2] == 1, 4]) + np.mean(self.readings[self.readings[:, 2] == -1, 4])) / 2.
 
-    def vab_square_wave(self, vab, cycle_length, sampling_rate=None, cycles=3, polarity=1, append=False):
+    def vab_square_wave(self, vab, cycle_duration, sampling_rate=None, cycles=3, polarity=1, append=False):
         self.exec_logger.event(f'OhmPiHardware\tvab_square_wave\tbegin\t{datetime.datetime.utcnow()}')
         self.tx.polarity = polarity
-        lengths = [cycle_length/2]*2*cycles
+        durations = [cycle_duration/2]*2*cycles
         # set gains automatically
         gain_auto = Thread(target=self._gain_auto)
-        injection = Thread(target=self._inject, kwargs={'inj_time': 0.2, 'polarity': polarity})
+        injection = Thread(target=self._inject, kwargs={'injection_duration': 0.2, 'polarity': polarity})
         gain_auto.start()
         injection.start()
         gain_auto.join()
         injection.join()
-        self._vab_pulses(vab, lengths, sampling_rate, append=append)
+        self._vab_pulses(vab, durations, sampling_rate, append=append)
         self.exec_logger.event(f'OhmPiHardware\tvab_square_wave\tend\t{datetime.datetime.utcnow()}')
 
-    def _vab_pulse(self, vab, length, sampling_rate=None, polarity=1, append=False):
+    def _vab_pulse(self, vab, duration, sampling_rate=None, polarity=1, append=False):
         """ Gets VMN and IAB from a single voltage pulse
         """
         self.tx.polarity = polarity
@@ -352,7 +350,7 @@ class OhmPiHardware:
         else:
             vab = self.tx.pwr.voltage
         # reads current and voltage during the pulse
-        injection = Thread(target=self._inject, kwargs={'inj_time': length, 'polarity': polarity})
+        injection = Thread(target=self._inject, kwargs={'injection_duration': duration, 'polarity': polarity})
         readings = Thread(target=self._read_values, kwargs={'sampling_rate': sampling_rate, 'append': append})
         readings.start()
         injection.start()
@@ -360,8 +358,8 @@ class OhmPiHardware:
         injection.join()
         self.tx.polarity = 0
 
-    def _vab_pulses(self, vab, lengths, sampling_rate, polarities=None, append=False):
-        n_pulses = len(lengths)
+    def _vab_pulses(self, vab, durations, sampling_rate, polarities=None, append=False):
+        n_pulses = len(durations)
         if sampling_rate is None:
             sampling_rate = RX_CONFIG['sampling_rate']
         if polarities is not None:
@@ -371,7 +369,7 @@ class OhmPiHardware:
         if not append:
             self._clear_values()
         for i in range(n_pulses):
-            self._vab_pulse(self, length=lengths[i], sampling_rate=sampling_rate, polarity=polarities[i],
+            self._vab_pulse(self, duration=durations[i], sampling_rate=sampling_rate, polarity=polarities[i],
                             append=True)
 
     def switch_mux(self, electrodes, roles=None, state='off', **kwargs):