diff --git a/Solver/dofManager.h b/Solver/dofManager.h
index 778259f889a8a75908624845aa973db8d28b2037..9a1ae18f770a929693e28321e8597cef4b05d508 100644
--- a/Solver/dofManager.h
+++ b/Solver/dofManager.h
@@ -11,8 +11,6 @@
 #include <map>
 #include "MVertex.h"
 #include "linearSystem.h"
-#include "fullMatrix.h"
-
 
 class Dof{
  private:
@@ -20,7 +18,6 @@ class Dof{
   long int _entity; // "i": node, edge, group, etc.
   int _type; // "f": basis function type index, etc.
  public:
-  Dof(void) {} // eric
   Dof(long int entity, int type) : _entity(entity), _type(type) {}
   inline long int getEntity() const { return _entity; }
   inline int getType() const { return _type; }
@@ -136,43 +133,6 @@ class dofManager{
       }
     }
   }
-
-  inline void assemble(const std::vector<Dof> &dofsR ,const std::vector<Dof> &dofsC, const fullMatrix<dataMat> &localMatrix)
-  {
-    if (!_current->isAllocated()) _current->allocate(unknown.size());
-    const int nbR = localMatrix.size1();
-    const int nbC = localMatrix.size2();
-    std::vector<int> tabR(nbR);
-    std::vector<int> tabC(nbC);
-    for (int R=0;R<nbR;++R)
-    {
-      std::map<Dof, int>::iterator it = unknown.find(dofsR[R]);
-      if (it != unknown.end()) tabR[R]=it->second; else tabR[R]=-1;
-    }
-    for (int C=0;C<nbC;++C)
-    {
-      std::map<Dof, int>::iterator it = unknown.find(dofsC[C]);
-      if (it != unknown.end()) tabC[C]=it->second; else tabC[C]=-1;
-    }
-    
-    for (int R=0;R<nbR;++R) {
-      for (int C=0;C<nbC;++C) {
-        if (tabR[R] != -1) {
-          if (tabC[C] !=-1) {
-            _current->addToMatrix(tabR[R], tabC[C], localMatrix(R,C));
-          }
-          else {
-            typename std::map<Dof,  dataVec>::iterator itFixed = fixed.find(dofsC[C]);
-            if (itFixed != fixed.end()) {
-              _current->addToRightHandSide(R, -localMatrix(R,C) * itFixed->second);
-            }
-          }
-        }
-      }
-    }
-  }
-
-
   inline void assemble(int entR, int typeR, int entC, int typeC, const dataMat &value)
   {
     assemble(Dof(entR, typeR), Dof(entC, typeC), value);
diff --git a/Solver/femTerm.h b/Solver/femTerm.h
index ff12b9dcb1079e0a3b4bc12b931dce6841ece6c9..65c6938f5fa719d010b1c409b994ea7403ab7d92 100644
--- a/Solver/femTerm.h
+++ b/Solver/femTerm.h
@@ -75,24 +75,13 @@ class femTerm {
   {
     const int nbR = localMatrix.size1();
     const int nbC = localMatrix.size2();
-/*    
-		for (int j = 0; j < nbR; j++)
-		{
+    for (int j = 0; j < nbR; j++){
       Dof R = getLocalDofR(se, j);
-      for (int k = 0; k < nbC; k++)
-			{
+      for (int k = 0; k < nbC; k++){
         Dof C = getLocalDofC(se, k);
         dm.assemble(R, C, localMatrix(j, k));
       }
     }
-*/		
-		std::vector<Dof> tabR(nbR);
-		std::vector<Dof> tabC(nbC);
-		for (int R = 0; R < nbR; ++R)
-      tabR[R]=getLocalDofR(se, R);
-		for (int C = 0; C < nbC; ++C)
-      tabC[C]=getLocalDofC(se, C);
-		dm.assemble(tabR,tabC,localMatrix);
   }
   void dirichletNodalBC(int physical, int dim, int comp, int field,
                         const simpleFunction<dataVec> &e,