diff --git a/Solver/eigenSolver.h b/Solver/eigenSolver.h
index 46c701b9de11eacf8ef12de22ca716b0de97acc7..03ad90666087e74ee47ad9a53c7764df0c15559c 100644
--- a/Solver/eigenSolver.h
+++ b/Solver/eigenSolver.h
@@ -35,13 +35,14 @@ class eigenSolver{
 };
 
 #else
-
+#include "linearSystemPETSc.h"
 class eigenSolver{
  private:
   std::vector<std::complex<double> > _dummy;
  public:
   eigenSolver(dofManager<double> *manager, std::string A,
               std::string B="", bool hermitian=false){}
+  eigenSolver(linearSystemPETSc<double> *A,linearSystemPETSc<double>* B = NULL, bool hermitian=false){}
   bool solve(int numEigenValues=0, std::string which="")
   {
     Msg::Error("Eigen solver requires SLEPc");
diff --git a/Solver/groupOfElements.h b/Solver/groupOfElements.h
index 05b33c0d35fc1d73bc0b327f0b8547ec030866e8..4d2c9e6014b8c877af8262e31f1384a95bb822cf 100644
--- a/Solver/groupOfElements.h
+++ b/Solver/groupOfElements.h
@@ -67,6 +67,10 @@ class groupOfElements {
       return _elements.size();
     }
 
+    size_t vsize() const {
+      return _vertices.size();
+    }
+
     // FIXME : NOT VERY ELEGANT !!!
     bool find (MElement *e) const       // if same parent but different physicals return true ?!
     {