diff --git a/orangecontrib/tomwer/widgets/reconstruction/AxisOW.py b/orangecontrib/tomwer/widgets/reconstruction/AxisOW.py
index 1738caa0d66f9309848f18dc64bb764b383ba4b5..3cabd081969cb1f28503b16c33e5d7d1f65eb77a 100644
--- a/orangecontrib/tomwer/widgets/reconstruction/AxisOW.py
+++ b/orangecontrib/tomwer/widgets/reconstruction/AxisOW.py
@@ -95,7 +95,12 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
     _ewoks_default_inputs = Setting({"data": None, "axis_params": None, "gui": None})
 
     class Inputs:
-        data = Input(name="data", type=TomwerScanBase, doc="one scan to be process")
+        data = Input(
+            name="data",
+            type=TomwerScanBase,
+            doc="one scan to be process",
+            multiple=True,
+        )
         data_recompute_axis = Input(
             name="change recons params",
             type=_TomwerBaseDock,
@@ -406,7 +411,7 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
         return self._widget.isModeLock()
 
     @Inputs.data
-    def new_data_in(self, scan):
+    def new_data_in(self, scan, *args, **kwargs):
         if scan is None:
             return
         scan_ = copy.copy(scan)
diff --git a/orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py b/orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py
index 19af59ae43a605934bda2c70f32420537075a6ab..d143e659a967ef8f88a391cf931a64fe660c2719 100644
--- a/orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py
+++ b/orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py
@@ -81,14 +81,23 @@ class DarkRefAndCopyOW(SuperviseOW, WidgetLongProcessing):
     )
 
     class Inputs:
-        data = Input(name="data", type=TomwerScanBase, doc="one scan to be process")
+        data = Input(
+            name="data",
+            type=TomwerScanBase,
+            doc="one scan to be process",
+            multiple=True,
+        )
         reduced_darks = Input(
-            name="reduced dark(s)", type=dict, doc="dict containing reduced dark(s)"
+            name="reduced dark(s)",
+            type=dict,
+            doc="dict containing reduced dark(s)",
+            multiple=False,
         )
         reduced_flats = Input(
             name="reduced flat(s)",
             type=dict,
             doc="dict of containing reduced flat(s)",
+            multiple=False,
         )
 
     class Outputs:
@@ -174,7 +183,7 @@ class DarkRefAndCopyOW(SuperviseOW, WidgetLongProcessing):
         return super().__new__(cls, *args, **kwargs)
 
     @Inputs.data
-    def process(self, scanID):
+    def process(self, scanID, *args, **kwargs):
         if scanID is None:
             return
         assert isinstance(scanID, TomwerScanBase)
diff --git a/orangecontrib/tomwer/widgets/reconstruction/NabuOW.py b/orangecontrib/tomwer/widgets/reconstruction/NabuOW.py
index 12a464f08faf567f9a75372d79c5e75389615e87..d4633d4e9dfe1977127ae7d24eac9b5365623840 100644
--- a/orangecontrib/tomwer/widgets/reconstruction/NabuOW.py
+++ b/orangecontrib/tomwer/widgets/reconstruction/NabuOW.py
@@ -89,7 +89,7 @@ class NabuOW(WidgetLongProcessing, SuperviseOW):
             type=TomwerScanBase,
             doc="one scan to be process",
             default=True,
-            multiple=False,
+            multiple=True,
         )
         cluster_in = Input(
             name="cluster_config",
@@ -183,7 +183,7 @@ class NabuOW(WidgetLongProcessing, SuperviseOW):
         return super().__new__(cls, *args, **kwargs)
 
     @Inputs.data
-    def process(self, scan: TomwerScanBase):
+    def process(self, scan, *args, **kwargs):
         assert isinstance(scan, (TomwerScanBase, type(None)))
         if scan is None:
             return
diff --git a/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py b/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py
index ead8ba90d44c881eec81780698dfbb733c967222..01ec56473e5d48e5b13855551825bbd434bb2424 100644
--- a/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py
+++ b/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py
@@ -66,7 +66,11 @@ class DataViewerOW(widget.OWBaseWidget, openclass=True):
     _viewer_config = settings.Setting(dict())
 
     class Inputs:
-        data = Input(name="data", type=TomwerScanBase)
+        data = Input(
+            name="data",
+            type=TomwerScanBase,
+            multiple=True,
+        )
 
     def __init__(self, parent=None):
         super().__init__(parent)
@@ -107,7 +111,7 @@ class DataViewerOW(widget.OWBaseWidget, openclass=True):
                 msg.exec_()
 
     @Inputs.data
-    def addScan(self, scan):
+    def addScan(self, scan, *args, **kwargs):
         if scan is None:
             return
         self.viewer.setScan(scan)
diff --git a/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py b/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py
index a91251f9a6a9f8855454d93485c03958e541805a..40a5020cf9187a2865736ec79f5cc80b867215f9 100644
--- a/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py
+++ b/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py
@@ -66,7 +66,11 @@ class RadioStackOW(widget.OWBaseWidget, openclass=True):
     resizing_enabled = True
 
     class Inputs:
-        data = Input(name="data", type=TomwerScanBase)
+        data = Input(
+            name="data",
+            type=TomwerScanBase,
+            multiple=True,
+        )
 
     def __init__(self, parent=None):
         widget.OWBaseWidget.__init__(self, parent)
@@ -75,7 +79,7 @@ class RadioStackOW(widget.OWBaseWidget, openclass=True):
         self._box.layout().addWidget(self._viewer)
 
     @Inputs.data
-    def addLeafScan(self, scanID):
+    def addLeafScan(self, scanID, *args, **kwargs):
         if scanID is None:
             return
         self._viewer.addLeafScan(scanID)
diff --git a/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py b/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py
index 08dd4a4a1e73f59c2baa961bd9377aabf29b07b1..66bc9e6b1e734ddd9f6a96625ae3b21f0b4208eb 100644
--- a/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py
+++ b/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py
@@ -81,7 +81,11 @@ class SlicesStackOW(widget.OWBaseWidget, openclass=True):
     resizing_enabled = True
 
     class Inputs:
-        data = Input(name="data", type=TomwerScanBase)
+        data = Input(
+            name="data",
+            type=TomwerScanBase,
+            multiple=True,
+        )
 
     def __init__(self, parent=None):
         widget.OWBaseWidget.__init__(self, parent)
@@ -90,7 +94,7 @@ class SlicesStackOW(widget.OWBaseWidget, openclass=True):
         self._box.layout().addWidget(self._viewer)
 
     @Inputs.data
-    def addLeafScan(self, scanID):
+    def addLeafScan(self, scanID, *args, **kwargs):
         if scanID is None:
             return
         self._viewer.addLeafScan(scanID)
diff --git a/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py b/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py
index a19aee838642aa0a82e5477e70393d39ecc9b59c..ce5be35fc1003aeb8b1c69bd4e35dd55421730b6 100644
--- a/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py
+++ b/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py
@@ -64,7 +64,7 @@ class VolumeViewerOW(widget.OWBaseWidget, openclass=True):
 
     class Inputs:
         data = Input(name="data", type=TomwerScanBase)
-        volume = Input(name="volume", type=TomwerVolumeBase)
+        volume = Input(name="volume", type=TomwerVolumeBase, multiple=True)
 
     def __init__(self, parent=None):
         super().__init__(parent)
@@ -73,7 +73,7 @@ class VolumeViewerOW(widget.OWBaseWidget, openclass=True):
         self._layout.addWidget(self.viewer)
 
     @Inputs.data
-    def addScan(self, scan):
+    def addScan(self, scan, *args, **kwargs):
         if scan is None:
             return
         self.viewer.setScan(scan)