diff --git a/cal_tools/cal_tools/ana_tools.py b/cal_tools/cal_tools/ana_tools.py
index a262cf8bb6e6be746e0cbb7dc26f53b131467d06..c4399fb9dd8f8dc6f1516d388fb0b77f17a028e4 100644
--- a/cal_tools/cal_tools/ana_tools.py
+++ b/cal_tools/cal_tools/ana_tools.py
@@ -135,18 +135,41 @@ def recursively_save_dict_contents_to_group(h5file, path, dic):
             raise ValueError('Cannot save %s type.' % type(item))
 
 
-def list_runner(*args, **kwargs):
+def combine_lists(*args, names=None):
     """
-    Combine several lists to list of dictionary or list of lists
-    Each dictionary containa a set of elements, one from each list
+    Combine several lists to a list of dictionary or a list of lists
+    Each dictionary contain a set of elements, one from each list
+
+    :param args: several lists to be combined
+    :param names: list of names (the length equal to the number of args)
+    :return: list of dictionary of list of lists
+
+    Example:
+    .. code-block:: python
+
+        # define input lists
+        a = [100,200]
+        b = [0,1,2]
+        c = [25]
+
+        comb = combine_lists(a,b,c)
+        # comb: [[100, 0, 25], [100, 1, 25], [100, 2, 25],
+        #        [200, 0, 25], [200, 1, 25], [200, 2, 25]]
+
+        comb = combine_lists(a,b,c, names=['Voltage', 'Gain', 'Temperature'])
+        # comb: [{'Voltage': 100, 'Gain': 0, 'Temperature': 25},
+        #        {'Voltage': 100, 'Gain': 1, 'Temperature': 25},
+        #        {'Voltage': 100, 'Gain': 2, 'Temperature': 25},
+        #        {'Voltage': 200, 'Gain': 0, 'Temperature': 25},
+        #        {'Voltage': 200, 'Gain': 1, 'Temperature': 25},
+        #        {'Voltage': 200, 'Gain': 2, 'Temperature': 25}]
     """
 
-    params = list(map(tuple, args)) * kwargs.get('repeat', 1)
+    params = list(map(tuple, args))
     possible_params = [[]]
     for param in params:
         possible_params = [x + [y] for x in possible_params for y in param]
 
-    names = kwargs.get('names', None)
     if names:
         d_possible_params = []
         for par in possible_params:
diff --git a/notebooks/AGIPD/PlotFromCalDB_AGIPD_NBC.ipynb b/notebooks/AGIPD/PlotFromCalDB_AGIPD_NBC.ipynb
index 3ad153403b313692ba4f39355a805ba2972f1e46..545a9a4757e41f877bc1c0c40d892cc9bc22c1e9 100644
--- a/notebooks/AGIPD/PlotFromCalDB_AGIPD_NBC.ipynb
+++ b/notebooks/AGIPD/PlotFromCalDB_AGIPD_NBC.ipynb
@@ -68,14 +68,12 @@
     "warnings.filterwarnings('ignore')\n",
     "\n",
     "import h5py\n",
-    "import matplotlib\n",
-    "# %matplotlib inline\n",
     "\n",
     "from iCalibrationDB import Constants, Conditions, Detectors, ConstantMetaData\n",
     "from cal_tools.tools import get_from_db, get_random_db_interface\n",
     "from cal_tools.ana_tools import (save_dict_to_hdf5, load_data_from_hdf5, \n",
     "                                 combine_constants, HMType,\n",
-    "                                 hm_combine, list_runner)"
+    "                                 hm_combine, combine_lists)"
    ]
   },
   {
@@ -124,7 +122,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "parameter_list = list_runner(bias_voltages, modules, mem_cells, names = ['bias_voltage', 'module', 'mem_cells'])\n",
+    "parameter_list = combine_lists(bias_voltages, modules, mem_cells, names = ['bias_voltage', 'module', 'mem_cells'])\n",
     "print(parameter_list)"
    ]
   },
diff --git a/notebooks/LPD/PlotFromCalDB_LPD_NBC.ipynb b/notebooks/LPD/PlotFromCalDB_LPD_NBC.ipynb
index 854c2b85e9961e2a43bf8f3011f42ee2bd50f0b1..8ecc446becc1aa6e71c0f896d648e66783ad08ef 100644
--- a/notebooks/LPD/PlotFromCalDB_LPD_NBC.ipynb
+++ b/notebooks/LPD/PlotFromCalDB_LPD_NBC.ipynb
@@ -70,14 +70,12 @@
     "warnings.filterwarnings('ignore')\n",
     "\n",
     "import h5py\n",
-    "import matplotlib\n",
-    "# %matplotlib inline\n",
     "\n",
     "from iCalibrationDB import Constants, Conditions, Detectors, ConstantMetaData\n",
     "from cal_tools.tools import get_from_db, get_random_db_interface\n",
     "from cal_tools.ana_tools import (save_dict_to_hdf5, load_data_from_hdf5, \n",
     "                                 combine_constants, HMType,\n",
-    "                                 hm_combine, list_runner)"
+    "                                 hm_combine, combine_lists)"
    ]
   },
   {
@@ -126,7 +124,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "parameter_list = list_runner(bias_voltages, modules, mem_cells, names = ['bias_voltage', 'module', 'mem_cells'])\n",
+    "parameter_list = combine_lists(bias_voltages, modules, mem_cells, names = ['bias_voltage', 'module', 'mem_cells'])\n",
     "print(parameter_list)"
    ]
   },
diff --git a/notebooks/ePix/PlotFromCalDB_ePix100_NBC.ipynb b/notebooks/ePix/PlotFromCalDB_ePix100_NBC.ipynb
index 64fd54c798f4b0817aa93baac1de4d4c9a4642e4..22aecccb92a6eed5ba9bec729a9b35a89cfa3896 100644
--- a/notebooks/ePix/PlotFromCalDB_ePix100_NBC.ipynb
+++ b/notebooks/ePix/PlotFromCalDB_ePix100_NBC.ipynb
@@ -59,14 +59,12 @@
     "warnings.filterwarnings('ignore')\n",
     "\n",
     "import h5py\n",
-    "import matplotlib\n",
-    "# %matplotlib inline\n",
     "\n",
     "from iCalibrationDB import Constants, Conditions, Detectors, ConstantMetaData\n",
     "from cal_tools.tools import get_from_db, get_random_db_interface\n",
     "from cal_tools.ana_tools import (save_dict_to_hdf5, load_data_from_hdf5, \n",
     "                                 combine_constants, HMType,\n",
-    "                                 hm_combine, list_runner)"
+    "                                 hm_combine, combine_lists)"
    ]
   },
   {
@@ -108,7 +106,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "parameter_list = list_runner(*parameters, names = parameter_names)\n",
+    "parameter_list = combine_lists(*parameters, names = parameter_names)\n",
     "print(parameter_list)"
    ]
   },
diff --git a/notebooks/generic/PlotFromCalDB_Summary_NBC.ipynb b/notebooks/generic/PlotFromCalDB_Summary_NBC.ipynb
index 59cd01bba8dd174248cff502bfd3b4e351f4fc4b..618f01887c9f66bc67e908131e615cde8b299c03 100644
--- a/notebooks/generic/PlotFromCalDB_Summary_NBC.ipynb
+++ b/notebooks/generic/PlotFromCalDB_Summary_NBC.ipynb
@@ -45,8 +45,6 @@
     "warnings.filterwarnings('ignore')\n",
     "\n",
     "import numpy as np\n",
-    "import matplotlib\n",
-    "# %matplotlib inline\n",
     "\n",
     "from cal_tools.ana_tools import (load_data_from_hdf5, \n",
     "                                 HMType, multi_union,\n",