diff --git a/tbox/src/wDss.h b/tbox/src/wDss.h
index da42e4ac37db46fd320c6bef2e4a8814db7278d2..f5a27ae2e7d86307356654500b09b4d053b748c9 100644
--- a/tbox/src/wDss.h
+++ b/tbox/src/wDss.h
@@ -23,7 +23,6 @@
 #include "wLinearSolver.h"
 #include <mkl_dss.h>
 #include <Eigen/Sparse>
-#include <limits>
 
 namespace tbox
 {
@@ -48,7 +47,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/src/wMumps.h b/tbox/src/wMumps.h
index dae62bd54973e6bec0fa4b1f7ebaf7172b308377..b3f14923750f05ddc4a4a68ae5dc7eb59c2b3df9 100644
--- a/tbox/src/wMumps.h
+++ b/tbox/src/wMumps.h
@@ -23,7 +23,6 @@
 #include "wLinearSolver.h"
 #include <dmumps_c.h>
 #include <Eigen/Sparse>
-#include <limits>
 
 namespace tbox
 {
@@ -61,7 +60,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/src/wPardiso.h b/tbox/src/wPardiso.h
index 3e6c57657b4cded842547860c4c336036443ba66..8cd7be4c74660660a59339e2e78cd82a2255b108 100644
--- a/tbox/src/wPardiso.h
+++ b/tbox/src/wPardiso.h
@@ -22,7 +22,6 @@
 
 #include "wLinearSolver.h"
 #include <Eigen/PardisoSupport>
-#include <limits>
 
 namespace tbox
 {
@@ -46,7 +45,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/src/wSparseLu.h b/tbox/src/wSparseLu.h
index 6055f3815bd616844bafa843ec794c42e62bf45e..402dffe920ff8c1945f91047e79835f59df9ca98 100644
--- a/tbox/src/wSparseLu.h
+++ b/tbox/src/wSparseLu.h
@@ -20,7 +20,6 @@
 #include "tbox.h"
 #include "wLinearSolver.h"
 #include <Eigen/Sparse>
-#include <limits>
 
 namespace tbox
 {
@@ -46,7 +45,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/utils.py b/tbox/utils.py
index 73ec554d506fbd70468392746b5890de2e38da2c..01ba3c9dee6beffe19f7d2186128803419d5e5d3 100644
--- a/tbox/utils.py
+++ b/tbox/utils.py
@@ -34,28 +34,25 @@ def myrange(start, stop, step):
 def plot(x, y, cfg):
     """Plot using matplotlib
     """
-    from fwk.wutils import parseargs
-    args = parseargs()
-    if not args.nogui:
-        import matplotlib.pyplot as plt
-        # define font
-        font = {'family': 'serif', 'color': 'darkred', 'weight': 'normal', 'size': 16}
-        # plot results
-        plt.plot(x, y, 'b-', lw=2)
-        if 'xlabel' in cfg:
-            plt.xlabel(cfg['xlabel'], fontdict=font)
-        if 'ylabel' in cfg:
-            plt.ylabel(cfg['ylabel'], fontdict=font)
-        if 'title' in cfg:
-            plt.title(cfg['title'], fontdict=font)
-        if 'xlim' in cfg:
-            plt.xlim(cfg['xlim'])
-        if 'ylim' in cfg:
-            plt.ylim(cfg['ylim'])
-        if 'invert' in cfg and cfg['invert']:
-            plt.gca().invert_yaxis()
-        # display
-        plt.show()
+    import matplotlib.pyplot as plt
+    # define font
+    font = {'family': 'serif', 'color': 'darkred', 'weight': 'normal', 'size': 16}
+    # plot results
+    plt.plot(x, y, 'b-', lw=2)
+    if 'xlabel' in cfg:
+        plt.xlabel(cfg['xlabel'], fontdict=font)
+    if 'ylabel' in cfg:
+        plt.ylabel(cfg['ylabel'], fontdict=font)
+    if 'title' in cfg:
+        plt.title(cfg['title'], fontdict=font)
+    if 'xlim' in cfg:
+        plt.xlim(cfg['xlim'])
+    if 'ylim' in cfg:
+        plt.ylim(cfg['ylim'])
+    if 'invert' in cfg and cfg['invert']:
+        plt.gca().invert_yaxis()
+    # display
+    plt.show()
 
 def sort(id, data):
     """Sort data array against id (line connectivity list)
diff --git a/tboxVtk/cutter.py b/tboxVtk/cutter.py
index f0dc2260d748bf8e89b99e1b777344392f413658..917f4f22c638e144e59e4838eb515d9905f7bbf9 100644
--- a/tboxVtk/cutter.py
+++ b/tboxVtk/cutter.py
@@ -2,13 +2,13 @@
 # -*- coding: utf-8 -*-
 
 # Copyright 2020 University of Liège
-# 
+#
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
-# 
+#
 #     http://www.apache.org/licenses/LICENSE-2.0
-# 
+#
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -29,13 +29,12 @@ class Cutter:
         self.grid = _grid
 
     def cut(self, tag, cutO, cutN, tag_name="tag"):
-        '''
-        Cut the physical group ided "tag" with a plane defined by point "cutO" and normal "cutN"
-        '''
-        import numpy as np
+        """Cut the physical group ided "tag" with a plane defined by point "cutO" and normal "cutN"
+        """
         # create a threshold containing the physical group (tag) to cut
         thresh = vtk.vtkThreshold()
-        thresh.ThresholdBetween(tag,tag)
+        thresh.SetLowerThreshold(tag)
+        thresh.SetUpperThreshold(tag)
         thresh.SetInputConnection(self.grid)
         thresh.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_CELLS, tag_name) # "tag" is the default name set in tboxVtk::VtkExport::save
         thresh.Update()
@@ -51,10 +50,9 @@ class Cutter:
         return cutter.GetOutput()
 
     def extract(self, cutData, tagDim, vname, atPoint = True):
-        '''
-        Extract points "pts", connectivity list "elems" and data "vals" named "vname" from cutting plane data "cutData".
+        """Extract points "pts", connectivity list "elems" and data "vals" named "vname" from cutting plane data "cutData".
         The physical group dimension is given by "tagDim" and "atPoint" is True if vname is defined at points.
-        '''
+        """
         import numpy as np
         # transfer point coordinates
         _pts = cutData.GetPoints()
diff --git a/tboxVtk/lineExtractor.py b/tboxVtk/lineExtractor.py
index df305b5c77c48fbff39f830080ebf1ea4a2fd569..3eb9320db4db2c214bdf68332f1bb44a823ea062 100644
--- a/tboxVtk/lineExtractor.py
+++ b/tboxVtk/lineExtractor.py
@@ -55,7 +55,8 @@ class LineExtractor:
 
         # create a threshold containing the physical group (tag) to cut
         thresh = vtk.vtkThreshold()
-        thresh.ThresholdBetween(tag,tag)
+        thresh.SetLowerThreshold(tag)
+        thresh.SetUpperThreshold(tag)
         thresh.SetInputConnection(self.grid)
         thresh.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_CELLS, tag_name) # "tag" is the default name set in tboxVtk::VtkExport::save
         thresh.Update()