diff --git a/FunctionSpace/Basis.h b/FunctionSpace/Basis.h
index 9e3f8412eaba564358a23600fc71b0026c8455b1..828044e0b6061dd8bd61d32e3ab261825bdb9a28 100644
--- a/FunctionSpace/Basis.h
+++ b/FunctionSpace/Basis.h
@@ -9,38 +9,37 @@
    @interface Basis
    @brief Common Interface of all Basis
 
-   This class is the @em common @em interface for all Basis.@n
+   This class is the common interface for all Basis.
 
-   A Basis is @em set of @em linearly @em independent Polynomial%s
-   (or Vector%s of Polynomial%s).@n
+   A Basis is set of linearly independent Polynomial%s
+   (or Vector%s of Polynomial%s).
 
-   @note
    The returned matrices are the result of the evaluation
-   of the basis functions (at @c N points).@n
+   of the basis functions (at N points).
 
-   The @c i-th row of these matrices is always refering to the
-   @c i-th function of the basis.@n
+   The i-th row of these matrices is always refering to the
+   i-th function of the basis.
 
    Depending on the nature of the returned value
-   (@em scalar or @em vector), the columns are organized
+   (scalar or vector), the columns are organized
    diferently.
 
-   For @em scalar values, we have:
-   @li The @c j-th column of the @c i-th row is
-   the evaluation of the @c i-th function at the @c j-th point
+   For scalar values, we have:
+   @li The j-th column of the i-th row is
+   the evaluation of the i-th function at the j-th point
 
-   For @em vectorial values, we have:
-   @li The @c j-th column of the @c i-th row is
-   the @em first @em coordinate of
-   the evaluation of the @c i-th function at the @c 3 @c x @c j-th point
+   For vectorial values, we have:
+   @li The j-th column of the i-th row is
+   the first coordinate of
+   the evaluation of the i-th function at the 3 x j-th point
 
-   @li The @c (@c j-th @c + @c 1 @c ) column of the @c i-th row is
-   the @em second @em coordinate of
-   the evaluation of the @c i-th function at the @c 3 @c x @c j-th point
+   @li The (j-th + 1) column of the i-th row is
+   the second coordinate of
+   the evaluation of the i-th function at the 3 x j-th point
 
-   @li The @c (@c j-th @c + @c 2 @c ) column of the @c i-th row is
-   the @em third @em coordinate of
-   the evaluation of the @c i-th function at the @c 3 @c x @c j-th point
+   @li The (j-th + 2) column of the i-th row is
+   the third coordinate of
+   the evaluation of the i-th function at the 3 x j-th point
  */
 
 class Basis{
@@ -134,32 +133,25 @@ class Basis{
 
    @fn Basis::isScalar
    @return Returns:
-   @li @c true, if this is a
-   @em scalar Basis
-   @li @c false, if this is a
-   @em vectorial Basis
-
-   @note
-   Scalar basis are sets of
-   Polynomial%s@n
-   Vectorial basis are sets of
-   Vector%s of Polynomial%s
+   @li true, if this is a scalar Basis
+   @li false, if this is a vectorial Basis
+
+   Scalar basis are sets of Polynomial%s, and
+   Vectorial basis are sets of Vector%s of Polynomial%s
    **
 
    @fn Basis::isLocal
    @return Returns:
-   @li @c true, if this is a
-   @em Local Basis
-   @li @c false, if this is a
-   @em Global Basis
+   @li true, if this is a Local Basis
+   @li false, if this is a Global Basis
    **
 
    @fn Basis::getOrder
-   @return Returns the @em polynomial @em order of the Basis
+   @return Returns the polynomial order of the Basis
    **
 
    @fn Basis::getType
-   @return Returns the @em type of the Basis:
+   @return Returns the type of the Basis:
    @li 0 for 0-form
    @li 1 for 1-form
    @li 2 for 2-form
@@ -167,118 +159,100 @@ class Basis{
    **
 
    @fn Basis::getDim
-   @return Returns the @em dimension
-   (@c 1D, @c 2D or @c 3D) of the Basis
+   @return Returns the dimension (1D, 2D or 3D) of the Basis
    **
 
    @fn Basis::getNVertexBased
-   @return Returns the number of @em Vertex
-   @em Based functions of this Basis
+   @return Returns the number of Vertex Based functions of this Basis
    **
 
    @fn Basis::getNEdgeBased
-   @return Returns the number of @em Edge
-   @em Based functions of this Basis
+   @return Returns the number of Edge Based functions of this Basis
    **
 
    @fn Basis::getNFaceBased
-   @return Returns the number of @em Face
-   @em Based functions of this Basis
+   @return Returns the number of Face Based functions of this Basis
    **
 
    @fn Basis::getNCellBased
-   @return Returns the number of @em Cell
-   @em Based functions of this Basis
+   @return Returns the number of Cell Based functions of this Basis
    **
 
    @fn Basis::getNFunction
    @return Returns the number of Polynomial%s
-   (or Vector%s of Polynomial%s) Functions
-   in this Basis
+   (or Vector%s of Polynomial%s) Functions in this Basis
    **
 
-   @fn Basis::getNOrientation
-   @return Returns the number of
-   @em orientation of this Basis
-   Reference Space
+   @fn Basis::getReferenceSpace
+   @return Returns the ReferenceSpace associated to this basis
    **
 
-   @fn Basis::getOrientation
+   @fn Basis::getFunctions(fullMatrix<double>&, const MElement&, double, double, double) const
+   @param retValues An allocated matrix
    @param element A MElement
-   @return Returns a number
-   (from 0 to Basis::getNOrientation() - 1)
-   charaterizing the @em orientation
-   of the given element
-   **
-
-   @fn Basis::getFunctions(size_t, double, double, double) const
-   @param orientation A natural number defining the reference space @em orientation
-   @param u A @c u coordinate in the reference space of this Basis
-   @param v A @c v coordinate in the reference space of this Basis
-   @param w A @c w coordinate in the reference space of this Basis
-   @return Instanciates a new fullMatrix<double> with the @em evaluation
-   of every basis function at the given coordinates, and for the
-   given orientation
-
-   @warning
-   The Instanciated Matrix must be deleted by the @em calling function
+   @param u A u coordinate in the reference space of this Basis
+   @param v A v coordinate in the reference space of this Basis
+   @param w A w coordinate in the reference space of this Basis
+   @return The given matrix is populated with the evaluation
+   of every basis function at the given coordinates,
+   and for the orientation of the given element
    **
 
-   @fn Basis::getFunctions(const MElement&, double, double, double) const
-   @param element A MElement
-   @param u A @c u coordinate in the reference space of this Basis
-   @param v A @c v coordinate in the reference space of this Basis
-   @param w A @c w coordinate in the reference space of this Basis
-   @return Same as Basis::getFunction(Basis::getOrientation(@c element),
-   @c u, @c u, @c w)
+   @fn Basis::getFunctions(fullMatrix<double>&, size_t, double, double, double) const
+   @param retValues An allocated matrix
+   @param orientation A integer
+   @param u A u coordinate in the reference space of this Basis
+   @param v A v coordinate in the reference space of this Basis
+   @param w A w coordinate in the reference space of this Basis
+   @return The given matrix is populated with the evaluation
+   of every basis function at the given coordinates,
+   and for the given orientation
    **
 
    @fn Basis::preEvaluateFunctions
    @param point A Matrix with points coordinate
-   (each line is a point and got 3 coordinates, @em i.e. 3 rows)
+   (each line is a point and got 3 coordinates, i.e. 3 rows)
    @return Pre Evaluates every basis function at the given points
    **
 
    @fn Basis::preEvaluateDerivatives
    @param point A Matrix with points coordinate
-   (each line is a point and got 3 coordinates, @em i.e. 3 rows)
-   @return Pre Evaluates every basis function @em derivative at the given points
-
-   @note
-   @li For 0-Form it computes the @em gradient
-   @li For 1-Form it computes the @em curl
-   @li For 2-Form it computes the @em divergence
-   @li For 3-Form it computes the @em ???
-   @todo What is the derivative of a 3-Form
-   (does it exists -- discontinous field nope ?) ?
+   (each line is a point and got 3 coordinates, i.e. 3 rows)
+   @return Pre Evaluates every basis function derivative at the given points
+
+   @li For 0-Form it computes the gradient
+   @li For 1-Form it computes the curl
+   @li For 2-Form it computes the divergence
    **
 
    @fn Basis::getPreEvaluatedFunctions(size_t) const
-   @param orientation A natural number defining the reference space @em orientation
+   @param orientation A natural number defining the reference space orientation
    @return Returns a Matrix with the PreEvaluated basis functions
-   (see Basis::preEvaluateFunctions()), with the given @em orientation
+   (see Basis::preEvaluateFunctions()), with the given orientation
 
-   @note
    If no PreEvaluation has been done before calling this function,
    an Exception is thrown
    **
 
    @fn Basis::getPreEvaluatedDerivatives(size_t) const
-   @param orientation A natural number defining the reference space @em orientation
-   @return Returns a Matrix with the PreEvaluated basis functions @em derivatives
-   (see Basis::preEvaluateDerivatives()), with the given @em orientation
+   @param orientation A natural number defining the reference space orientation
+   @return Returns a Matrix with the PreEvaluated basis functions derivatives
+   (see Basis::preEvaluateDerivatives()), with the given orientation
 
-   @note
    If no PreEvaluation of the gradient has been done before calling this function,
    an Exception is thrown
    **
 
    @fn Basis::getPreEvaluatedFunctions(const MElement&) const
-   @return Same as Basis::getPreEvaluatedFunctions(Basis::getOrientation(@c element))
+   @param element A MElement
+   @return Same as Basis::getPreEvaluatedFunctions,
+   but the orientation is computed with the given element
    **
 
    @fn Basis::getPreEvaluatedDerivatives(const MElement&) const
-   @return Same as Basis::getPreEvaluatedDerivatives(Basis::getOrientation(@c element))
+   @param element A MElement
+   @return Same as Basis::getPreEvaluatedFunctions,
+   but the orientation is computed with the given element
 */
 
 //////////////////////
diff --git a/FunctionSpace/BasisLagrange.cpp b/FunctionSpace/BasisLagrange.cpp
index df435aab1bbb4431e1331b0c0e744c25a0350f27..aa5901dd625807c3c5148f71c092954beb1934ff 100644
--- a/FunctionSpace/BasisLagrange.cpp
+++ b/FunctionSpace/BasisLagrange.cpp
@@ -225,7 +225,7 @@ BasisLagrange::getPreEvaluatedDerivatives(size_t orientation) const{
 
 vector<double> BasisLagrange::
 project(const MElement& element,
-        const vector<double>& coef,
+        const std::vector<double>& coef,
         const FunctionSpaceScalar& fSpace){
 
   // Init New Coefs //
@@ -264,7 +264,7 @@ project(const MElement& element,
 
 vector<fullVector<double> > BasisLagrange::
 project(const MElement& element,
-        const vector<double>& coef,
+        const std::vector<double>& coef,
         const FunctionSpaceVector& fSpace){
 
   // Init New Coefs //
diff --git a/FunctionSpace/BasisLagrange.h b/FunctionSpace/BasisLagrange.h
index 4124edfab995ef9fb40926febe1320b7a6597ba5..8abd5afe3ba56229bf52b2f121847bb2a894f3ba 100644
--- a/FunctionSpace/BasisLagrange.h
+++ b/FunctionSpace/BasisLagrange.h
@@ -11,16 +11,13 @@
    @interface BasisLagrange
    @brief Interface for Lagrange Basis
 
-   This is an interface for Lagrange Basis.@n
+   This is an interface for Lagrange Basis.
 
-   These Local Scalar Basis allow a @em Coefficient Matrix,
-   and a Monomial Matrix, to be consulted.@n
+   These Local Scalar Basis allow a Coefficient Matrix,
+   and a Monomial Matrix, to be consulted.
 
    A vector from an Other Basis (set of Functions)
-   can also be projected into a Lagrange Basis.@n
-
-   @todo
-   Add a method to get lagrange Point in polynomialBasis
+   can also be projected into a Lagrange Basis.
 */
 
 class BasisLagrange: public BasisLocal{
diff --git a/FunctionSpace/CMakeLists.txt b/FunctionSpace/CMakeLists.txt
index 44ea8b673811a84a41320009ea07aba30f09d83e..724e30c5ce17c4ede7b338f26005e8811178095c 100644
--- a/FunctionSpace/CMakeLists.txt
+++ b/FunctionSpace/CMakeLists.txt
@@ -14,6 +14,7 @@ set(SRC
   TriReferenceSpace.cpp
   QuadReferenceSpace.cpp
   TetReferenceSpace.cpp
+  HexReferenceSpace.cpp
 
   ReferenceSpaceLagrange.cpp
   TriLagrangeReferenceSpace.cpp
diff --git a/FunctionSpace/FunctionSpace.h b/FunctionSpace/FunctionSpace.h
index bdaed37a29aed24bb4f0c9e3be1b53d88423e832..75f6b3eb7d4ff7a94b45155a4491bf132284da48 100644
--- a/FunctionSpace/FunctionSpace.h
+++ b/FunctionSpace/FunctionSpace.h
@@ -22,20 +22,20 @@
     @interface FunctionSpace
     @brief Common Interface of all Function Spaces
 
-    This is the @em common @em interface of
-    all Function Spaces.@n
+    This is the common interface of
+    all Function Spaces.
 
-    A FunctionSpace is defined on a @em support,
-    which is a collection of MElement%s (GroupOfElement).@n
+    A FunctionSpace is defined on a support,
+    which is a collection of MElement%s (GroupOfElement).
 
-    Those MElement%s @em must belong to the @em same Mesh.
+    Those MElement%s must belong to the same Mesh.
 
     A FunctionSpace is also responsible for the generation of all
-    the Dof%s and GroupOfDof%s related to its geometrical @em Support.
+    the Dof%s and GroupOfDof%s related to its geometrical Support.
 
     @todo
-    Allow Hybrid Mesh@n
-    Remove call to GroupOfElement:::orientAllElements()
+    Allow Hybrid Mesh
+    Remove call to GroupOfElement::orientAllElements()
 */
 
 class Mesh;
@@ -121,8 +121,8 @@ class FunctionSpace{
 
    @fn FunctionSpace::isScalar
    @return Returns:
-   @li @c true, if this FunstionSpace is scalar
-   @li @c flase, otherwise
+   @li true, if this FunstionSpace is scalar
+   @li flase, otherwise
    **
 
    @fn vector<Dof> FunctionSpace::getKeys(const MElement& element) const
@@ -146,20 +146,20 @@ class FunctionSpace{
    **
 
    @fn FunctionSpace::getAllDofs
-   @return Returns all the @em Dof%s associated to every Element%s
-   of this FunctionSpace @em support
+   @return Returns all the Dof%s associated to every Element%s
+   of this FunctionSpace support
    **
 
    @fn FunctionSpace::getAllGroups
-   @return Returns all the @em GroupOfDof%s associated to every Element%s
-   of this FunctionSpace @em support
+   @return Returns all the GroupOfDof%s associated to every Element%s
+   of this FunctionSpace support
    **
 
    @fn FunctionSpace::getGoDFromElement
    @param element An Element of the FunctionSpace Support
-   @return Returns the @em GroupOfDof%s associated to
-   the given @em Element
-   @note
+   @return Returns the GroupOfDof%s associated to
+   the given Element
+
    If the given Element is not in the FunctionSpace Support,
    an Exception is thrown
    **
diff --git a/FunctionSpace/LineReferenceSpace.cpp b/FunctionSpace/LineReferenceSpace.cpp
index 7106c8b6f7230ffd29343d835b41ca598194372d..c87a3d56bdc2a4ca6568e1fe73e837db22308e29 100644
--- a/FunctionSpace/LineReferenceSpace.cpp
+++ b/FunctionSpace/LineReferenceSpace.cpp
@@ -16,6 +16,7 @@ LineReferenceSpace::LineReferenceSpace(void){
 
   // Face Definition //
   refFaceNodeIdx.clear(); // No Face in Line
+  parallelFaceId.clear(); // And no parallel Face
 
   init();
 }
diff --git a/FunctionSpace/PermutationTree.h b/FunctionSpace/PermutationTree.h
index 7f13431d263a4a5d66f64d6dbdbec2f2d48177e7..9c54628692ff50c819c85e19a808502b3ce5dd16 100644
--- a/FunctionSpace/PermutationTree.h
+++ b/FunctionSpace/PermutationTree.h
@@ -6,6 +6,19 @@
 #include <list>
 #include <string>
 
+/**
+   @class PermutationTree
+   @brief A Permutation Tree
+
+   This class represents a permutation tree.
+   That is, given a sequence of length N,
+   this tree will hold all the possible permutations
+   of the N elements of the given sequence.
+
+   Every permuted sequence can be associated an ID and a tag.
+   By default all sequences are assigned the tag 0.
+ */
+
 class PermutationTree{
  private:
   // Tree node //
@@ -45,6 +58,8 @@ class PermutationTree{
   void   addTagToPermutation(size_t permutationId, size_t tag);
   size_t getTagFromPermutation(size_t permutationId);
 
+  //std::vector<size_t> getAllTags(void) const;
+
   std::string toString(void) const;
 
  private:
@@ -58,6 +73,57 @@ class PermutationTree{
                          size_t offset);
 };
 
+/**
+   @fn PermutationTree::PermutationTree
+   @param refSequence A vector of integers
+
+   Instanciates a new PermutationTree build on the given vector
+   **
+
+   @fn PermutationTree::~PermutationTree
+
+   Deletes this PermutationTree
+   **
+
+   @fn PermutationTree::getSequenceSize
+   @return Returns the size of the sequences
+   **
+
+   @fn PermutationTree::getNPermutation
+   @return Returns the number of permutation of the original sequence
+   (including the original sequence)
+   **
+
+   @fn PermutationTree::getPermutationId
+   @param sequence A sequence
+   @return Returns the ID of the given sequence
+   **
+
+   @fn PermutationTree::fillWithPermutation
+   @param permutationId A permuted sequence ID
+   @param vectorToFill An allocated vector of size
+   PermutationTree::getSequenceSize()
+
+   Populates the given vector with the permuted sequence of
+   the given ID
+   **
+
+   @fn PermutationTree::addTagToPermutation
+   @param permutationId A permuted sequence ID
+   @param tag An integer
+
+   Associates the given permutation with the given tag
+   **
+
+   @fn PermutationTree::getTagFromPermutation
+   @param permutationId A permuted sequence ID
+   @return Returns the tag of the given sequence
+   **
+
+   @fn PermutationTree::toString
+   @return Returns a string describing this PermutationTree
+ */
+
 //////////////////////
 // Inline Functions //
 //////////////////////
diff --git a/FunctionSpace/QuadReferenceSpace.cpp b/FunctionSpace/QuadReferenceSpace.cpp
index 47495dd8d718e063b1e65e4d0f3b0d504ab6cf53..318c3e3c9e2ac8bd7f33c1d1f0fe56c500b917ac 100644
--- a/FunctionSpace/QuadReferenceSpace.cpp
+++ b/FunctionSpace/QuadReferenceSpace.cpp
@@ -27,6 +27,9 @@ QuadReferenceSpace::QuadReferenceSpace(void){
   refFaceNodeIdx[0][2] = 2;
   refFaceNodeIdx[0][3] = 3;
 
+  parallelFaceId.resize(1);
+  parallelFaceId[0] = -1;      // Face zero has no parallel face
+
   // Init All //
   init();
 }
diff --git a/FunctionSpace/ReferenceSpace.cpp b/FunctionSpace/ReferenceSpace.cpp
index d11afb6f8101b636ecf0827ad51c8cc5103d468b..3959ee9f12a00e088ca44d2980cf76af195fc420 100644
--- a/FunctionSpace/ReferenceSpace.cpp
+++ b/FunctionSpace/ReferenceSpace.cpp
@@ -35,7 +35,7 @@ void ReferenceSpace::init(void){
                         listOfReverseNodeIndexPermutation);
 
   // Iterators //
-  list<size_t>::iterator refSpaceIt  = listOfTrueReferenceSpace.begin();
+  list<size_t>::iterator refSpaceIt = listOfTrueReferenceSpace.begin();
 
   // Reference Spaces Node Id //
   const size_t nRefSpace = listOfTrueReferenceSpace.size();
@@ -216,6 +216,27 @@ size_t ReferenceSpace::findCorrespondingFace(vector<size_t>& face,
     return -1;
 }
 
+bool ReferenceSpace::haveSameNode(vector<size_t> face0,
+                                  vector<size_t> face1){
+  // Check Sizes
+  const size_t size = face0.size();
+
+  if(size != face1.size())
+    return false;
+
+  // Sort both vectors
+  sort(face0.begin(), face0.end());
+  sort(face1.begin(), face1.end());
+
+  // Check if elements are the same and at same position
+  bool match = true;
+
+  for(size_t i = 0; i < size && match; i++)
+    match = (face0[i] == face1[i]);
+
+  return match;
+}
+
 bool ReferenceSpace::isFacePermutation(vector<size_t>& refNode,
                                        vector<size_t>& testNode){
   // Check Size
@@ -279,27 +300,6 @@ vector<size_t> ReferenceSpace::getReverseIndexPermutation(vector<size_t>& ref,
   return idxVec;
 }
 
-bool ReferenceSpace::haveSameNode(vector<size_t> face0,
-                                  vector<size_t> face1){
-  // Check Sizes
-  const size_t size = face0.size();
-
-  if(size != face1.size())
-    return false;
-
-  // Sort both vectors
-  sort(face0.begin(), face0.end());
-  sort(face1.begin(), face1.end());
-
-  // Check if elements are the same and at same position
-  bool match = true;
-
-  for(size_t i = 0; i < size && match; i++)
-    match = (face0[i] == face1[i]);
-
-  return match;
-}
-
 void ReferenceSpace::getOrderedEdge(void){
   // Fill orderedEdgeNodeIdx[s][e]                         //
   // (for all reference space 's' and edge 'e') such that: //
@@ -740,6 +740,7 @@ string ReferenceSpace::toString(void) const{
     }
   }
 
+  //stream << endl << pTree->getNPermutation() << endl;
   stream << endl;
 
   return stream.str();
diff --git a/FunctionSpace/ReferenceSpace.h b/FunctionSpace/ReferenceSpace.h
index 1518a1fbec100df947e110bc69ae4433d698ecef..910eefb59189416e4b667dbe92413daa0c4295f5 100644
--- a/FunctionSpace/ReferenceSpace.h
+++ b/FunctionSpace/ReferenceSpace.h
@@ -13,10 +13,9 @@
    @interface ReferenceSpace
    @brief Base interface for all ReferenceSpace%s
 
-   This class represents the notion of Reference Space.@n
-   A Reference Space is the set of all the @em permutations
-   of the @em reference @em element of a @em particular
-   @em geometrical entity.@n
+   This class represents the notion of Reference Space.
+   A Reference Space is the set of all the permutations
+   of the reference element of a particular geometrical entity.
  */
 
 class ReferenceSpace{
@@ -32,6 +31,7 @@ class ReferenceSpace{
   size_t nVertex;
   std::vector<std::vector<size_t> > refEdgeNodeIdx;
   std::vector<std::vector<size_t> > refFaceNodeIdx;
+  std::vector<size_t>               parallelFaceId;
 
   // Permutation Tree //
   PermutationTree* pTree;
@@ -107,6 +107,9 @@ class ReferenceSpace{
   size_t findCorrespondingFace(std::vector<size_t>& face,
                                std::vector<size_t>& node);
 
+  static bool haveSameNode(std::vector<size_t> face0,
+                           std::vector<size_t> face1);
+
   static bool isFacePermutation(std::vector<size_t>& refNode,
                                 std::vector<size_t>& testNode);
 
@@ -116,9 +119,6 @@ class ReferenceSpace{
   std::vector<size_t> getReverseIndexPermutation(std::vector<size_t>& ref,
                                                  std::vector<size_t>& test);
 
-  static bool haveSameNode(std::vector<size_t> face0,
-                           std::vector<size_t> face1);
-
   size_t getPermutationIdx(const MElement& element) const;
 
   static void
@@ -148,8 +148,7 @@ class ReferenceSpace{
    **
 
    @fn ReferenceSpace::getNReferenceSpace
-   @returns Returns the number of permutation of this
-   ReferenceSpace
+   @returns Returns the number of permutation of this ReferenceSpace
    **
 
    @fn ReferenceSpace::getReferenceSpace
@@ -157,33 +156,29 @@ class ReferenceSpace{
    @returns Returns the a natural number defining
    the permutation of the given element
 
-   @note If no permutation is found (e.g. the given
-   element does not belong the @em same @em geometrical
+   If no permutation is found (e.g. the given
+   element does not belong the same geometrical
    entity as this ReferenceSpace) an Exception is thrown
    **
 
-   @fn ReferenceSpace::getAllEdge
-   @return Returns every Edge permutation of this ReferenceSpace
+   @fn ReferenceSpace::getEdgeNodeIndex
+   @return Returns every Edge Node Index permutation of this ReferenceSpace
 
-   @note
    @li The fisrt vector represents a particular permutation
    (see ReferenceSpace::getReferenceSpace())
-   @li The second vector represents a particular edge
-   (for a given permutation)
-   @li The last vector represents the Vertex @c IDs of
-   the given edge (in the @em geometrical reference space)
+   @li The second vector represents a particular edge (for a given permutation)
+   @li The last vector represents the Vertex IDs of
+   the given edge (in the geometrical reference space)
    **
 
-   @fn ReferenceSpace::getAllFace
-   @return Returns every Face permutation of this ReferenceSpace
+   @fn ReferenceSpace::getFaceNodeIndex
+   @return Returns every Face Node Index permutation of this ReferenceSpace
 
-   @note
    @li The fisrt vector represents a particular permutation
    (see ReferenceSpace::getReferenceSpace())
-   @li The second vector represents a particular face
-   (for a given permutation)
-   @li The last vector represents the Vertex @c IDs of
-   the given face (in the @em geometrical reference space)
+   @li The second vector represents a particular face (for a given permutation)
+   @li The last vector represents the Vertex IDs of
+   the given face (in the geometrical reference space)
    **
 
    @fn ReferenceSpace::toString
@@ -191,8 +186,7 @@ class ReferenceSpace{
    **
 
    @fn ReferenceSpace::toLatex
-   @return Returns a string (of a Latex file)
-   describing this ReferenceSpace
+   @return Returns a string (of a Latex file) describing this ReferenceSpace
  */
 
 //////////////////////
diff --git a/FunctionSpace/TetNedelecBasis.h b/FunctionSpace/TetNedelecBasis.h
index 151296554cbc386202cf5d5598378ad12e47a04f..79381974cf25612e12dfc1ac10475faa7a1517a0 100644
--- a/FunctionSpace/TetNedelecBasis.h
+++ b/FunctionSpace/TetNedelecBasis.h
@@ -7,15 +7,13 @@
    @class TetNedelecBasis
    @brief A Nedelec Basis for Tetrahedra
 
-   This class can instantiate
-   a Nedelec Basis for Tetrahedra.
+   This class can instantiate a Nedelec Basis for Tetrahedra.
 */
 
 class TetNedelecBasis: public BasisHierarchical1Form{
  public:
-  //! @param order The order of the Basis
-  //!
   //! Returns a new Nedelec Basis for Tetrahedra
+  //!
   TetNedelecBasis(void);
 
   //! Deletes this Basis
diff --git a/FunctionSpace/TetReferenceSpace.cpp b/FunctionSpace/TetReferenceSpace.cpp
index 402d9104df9feed0af1cb70314c4e2a7c2e7c7df..8f5fbe33e60756def9ad180c86267f01c72bb008 100644
--- a/FunctionSpace/TetReferenceSpace.cpp
+++ b/FunctionSpace/TetReferenceSpace.cpp
@@ -29,6 +29,11 @@ TetReferenceSpace::TetReferenceSpace(void){
     refFaceNodeIdx[i][2] = MTetrahedron::faces_tetra(i, 2);
   }
 
+  parallelFaceId.resize(nFace);
+
+  for(size_t i = 0; i < nFace; i++)
+    parallelFaceId[i] = -1; // Face i has no parallel face
+
   // Init All //
   init();
 }
diff --git a/FunctionSpace/TriReferenceSpace.cpp b/FunctionSpace/TriReferenceSpace.cpp
index e7b9399f6233fca7e7fe6fd624c97650226e5414..0494373e00b8ea5fae9e0b06d3d4fefd96054c16 100644
--- a/FunctionSpace/TriReferenceSpace.cpp
+++ b/FunctionSpace/TriReferenceSpace.cpp
@@ -26,6 +26,9 @@ TriReferenceSpace::TriReferenceSpace(void){
   refFaceNodeIdx[0][1] = 1;
   refFaceNodeIdx[0][2] = 2;
 
+  parallelFaceId.resize(1);
+  parallelFaceId[0] = -1;      // Face zero has no parallel face
+
   // Init All //
   init();
 }