diff --git a/dune/faultnetworks/utils/levelinterfacenetworkwriter.hh b/dune/faultnetworks/utils/levelinterfacenetworkwriter.hh
index be074b5819b3adf8a04e170e26efbb00cfab242c..d2012b5d3b64e6b06b6dcbb3c27272a07978a4b9 100644
--- a/dune/faultnetworks/utils/levelinterfacenetworkwriter.hh
+++ b/dune/faultnetworks/utils/levelinterfacenetworkwriter.hh
@@ -41,7 +41,7 @@ class LevelInterfaceNetworkWriter {
                     writeVertex(vertices[i], file);
                     file << " -- ";
                     writeVertex(vertices[j], file);
-                    file << ";\n";
+                    file << ";%\n";
                 }
             }
         }
@@ -76,23 +76,23 @@ class LevelInterfaceNetworkWriter {
 
             if (file.is_open()) {
                 // define custom MATLAB colors
-                file << "\\definecolor{MATLABred}{RGB}{162,20,47}\n";
-                file << "\\definecolor{MATLABblue}{RGB}{0,114,189}\n";
-                file << "\\definecolor{MATLABgreen}{RGB}{60,140,40}\n";
-                file << "\\definecolor{MATLABorange}{RGB}{212,83,25}\n";
-                file << "\\definecolor{MATLAByellow}{RGB}{237,177,32}\n";
-                file << "\\definecolor{lightGray}{RGB}{211,211,211}\n";
-                file << "\n";
-
-                file << "\\colorlet{boundary}{black}\n";
-                file << "\\colorlet{grid}{lightGray}\n";
+                file << "\\definecolor{MATLABred}{RGB}{162,20,47}%\n";
+                file << "\\definecolor{MATLABblue}{RGB}{0,114,189}%\n";
+                file << "\\definecolor{MATLABgreen}{RGB}{60,140,40}%\n";
+                file << "\\definecolor{MATLABorange}{RGB}{212,83,25}%\n";
+                file << "\\definecolor{MATLAByellow}{RGB}{237,177,32}%\n";
+                file << "\\definecolor{lightGray}{RGB}{211,211,211}%\n";
+                file << "%\n";
+
+                file << "\\colorlet{boundary}{black}%\n";
+                file << "\\colorlet{grid}{lightGray}%\n";
                 for (size_t i=0; i<=levelInterfaceNetwork.level(); i++) {
 
-                    file << "\\colorlet{level" << i << "}{black}\n";
+                    file << "\\colorlet{level" << i << "}{black}%\n";
                 }
-                file << "\n";
+                file << "%\n";
 
-                file << "\\begin{tikzpicture}[scale=\\scale]\n";
+                file << "\\begin{tikzpicture}[scale=\\scale]%\n";
 
                 const GridView& gridView = levelInterfaceNetwork.levelGridView();
 
@@ -147,7 +147,7 @@ class LevelInterfaceNetworkWriter {
                     }
                 }
 
-                file << "\\end{tikzpicture}\n";
+                file << "\\end{tikzpicture}%";
                 file.close();
             } else {
                 DUNE_THROW(Exception, "Unable to open " << filePath_ << " for writing!");
diff --git a/src/cantorfaultnetworks/cantorfaultnetwork.cc b/src/cantorfaultnetworks/cantorfaultnetwork.cc
index b97a4472a455fb8c188d27749c7f4504eabf14ef..121b454b89f022536b20b6345ceee06c9e5a8e8a 100644
--- a/src/cantorfaultnetworks/cantorfaultnetwork.cc
+++ b/src/cantorfaultnetworks/cantorfaultnetwork.cc
@@ -161,8 +161,8 @@ int main(int argc, char** argv) { try
     CantorFaultFactory<GridType> faultFactory(levelToCantorLevel, coarseResolution, exactLevelIdx, maxCantorLevel);
     const InterfaceNetwork<GridType>& interfaceNetwork = faultFactory.interfaceNetwork();
 
-    /*if (problemCount==0) {
-        std::vector<int> writeLevels {1, 2, 8};
+    if (problemCount==0) {
+        std::vector<int> writeLevels {1, 2};
         for (size_t i=0; i<writeLevels.size(); i++) {
             int writeLevel = writeLevels[i];
             bool writeGrid = !(writeLevel==8);
@@ -170,7 +170,7 @@ int main(int argc, char** argv) { try
             LevelInterfaceNetworkWriter networkWriter(resultPath + "levelinterfacenetwork_" + std::to_string(writeLevel) + ".tikz");
             networkWriter.write(interfaceNetwork.levelInterfaceNetwork(writeLevel), writeGrid);
         }
-    }*/
+    }
 
     const GridType& grid = faultFactory.grid();
 
diff --git a/src/cantorfaultnetworks/sparsecantorfaultnetwork.cc b/src/cantorfaultnetworks/sparsecantorfaultnetwork.cc
index 8c1da5ba1b467ba14f6d0460745484a40cfd8bf9..1849acf971fe97b4645faf214eef44998b340aa7 100644
--- a/src/cantorfaultnetworks/sparsecantorfaultnetwork.cc
+++ b/src/cantorfaultnetworks/sparsecantorfaultnetwork.cc
@@ -154,16 +154,16 @@ int main(int argc, char** argv) { try
     SparseCantorFaultFactory<GridType> faultFactory(minCantorLevel, maxCantorLevel);
     const auto& interfaceNetwork = faultFactory.interfaceNetwork();
 
-    if (problemCount==0) {
-        std::vector<int> writeLevels {0, 1, 2};
+   /* if (problemCount==0) {
+        std::vector<int> writeLevels {0, 2, 4, 6, 8};
         for (size_t i=0; i<writeLevels.size(); i++) {
             int writeLevel = writeLevels[i];
-            bool writeGrid = !(writeLevel==8);
+            bool writeGrid = false; //writeLevel<7;
 
             LevelInterfaceNetworkWriter networkWriter(resultPath + "levelinterfacenetwork_" + std::to_string(writeLevel) + ".tikz");
             networkWriter.write(interfaceNetwork.levelInterfaceNetwork(writeLevel), writeGrid);
         }
-    }
+    }*/
 
     const GridType& grid = faultFactory.grid();
 
@@ -195,7 +195,7 @@ int main(int argc, char** argv) { try
 
         std::vector<std::shared_ptr<LocalInterfaceAssembler>> coarseLocalInterfaceAssemblers(coarseLevelInterfaceNetwork.size());
         for (size_t i=0; i<coarseLocalInterfaceAssemblers.size(); i++) {
-            const int k = minCantorLevel + coarseLevelInterfaceNetwork.getIntersectionsLevels().at(i);
+            const int k = minCantorLevel + coarseLevelInterfaceNetwork.getIntersectionsLevels().at(i)/2;
             const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
             coarseLocalInterfaceAssemblers[i] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
         }
@@ -236,7 +236,7 @@ int main(int argc, char** argv) { try
 
     std::vector<std::shared_ptr<LocalInterfaceAssembler>> exactLocalInterfaceAssemblers(exactLevelInterfaceNetwork.size());
     for (size_t i=0; i<exactLocalInterfaceAssemblers.size(); i++) {
-        const int k = minCantorLevel + exactLevelInterfaceNetwork.getIntersectionsLevels().at(i);
+        const int k = minCantorLevel + exactLevelInterfaceNetwork.getIntersectionsLevels().at(i)/2;
         const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
         exactLocalInterfaceAssemblers[i] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
     }
@@ -264,7 +264,7 @@ int main(int argc, char** argv) { try
 
     std::vector<std::shared_ptr<LocalInterfaceAssembler>> fineLocalInterfaceAssemblers(fineLevelInterfaceNetwork.size());
     for (size_t i=0; i<fineLocalInterfaceAssemblers.size(); i++) {
-        const int k = minCantorLevel + fineLevelInterfaceNetwork.getIntersectionsLevels().at(i);
+        const int k = minCantorLevel + fineLevelInterfaceNetwork.getIntersectionsLevels().at(i)/2;
         const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
         fineLocalInterfaceAssemblers[i] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
     }
@@ -298,7 +298,7 @@ int main(int argc, char** argv) { try
         std::vector<std::shared_ptr<LocalInterfaceAssembler>>& levelLocalIntersectionAssemblers = localIntersectionAssemblers[i];
         levelLocalIntersectionAssemblers.resize(levelInterfaceNetwork.size());
         for (size_t j=0; j<levelLocalIntersectionAssemblers.size(); j++) {
-            const int k = minCantorLevel + levelInterfaceNetwork.getIntersectionsLevels().at(j);
+            const int k = minCantorLevel + levelInterfaceNetwork.getIntersectionsLevels().at(j)/2;
             const double pen = (1+1.0/c) * std::pow(1.0+c, k) * std::pow(2.0, k);
             levelLocalIntersectionAssemblers[j] = std::make_shared<LocalInterfaceAssembler>(B, 2, pen);
         }
diff --git a/src/cantorfaultnetworks/sparsecantorfaultnetwork.parset b/src/cantorfaultnetworks/sparsecantorfaultnetwork.parset
index 31cd4c744145814994bf9b085ff96b2ca4b2813d..a5a180cfe892ec041aeb8fa0f176b5ecf3af0c5b 100644
--- a/src/cantorfaultnetworks/sparsecantorfaultnetwork.parset
+++ b/src/cantorfaultnetworks/sparsecantorfaultnetwork.parset
@@ -3,7 +3,7 @@ resultPath  = ../cantorfaultnetworks/results/sparse/
 
 [preconditioner]
 patch = SUPPORT            # CELL , SUPPORT
-mode = MULTIPLICATIVE         # ADDITIVE , MULTIPLICATIVE
+mode = ADDITIVE         # ADDITIVE , MULTIPLICATIVE
 multDirection = SYMMETRIC    # SYMMETRIC , FORWARD , BACKWARD
 patchDepth = 1
 
@@ -12,6 +12,37 @@ patchDepth = 1
 [problem0]
 oscDataFile         = oscDataLaplace4.mat
 
+# level resolution in 2^(-...)
+coarseCantorLevel = 1
+fineCantorLevel = 2
+maxCantorLevel = 3
+
+penaltyFactor = 1
+
+# cg solver
+nestedIteration = 0
+tol = 1e-12
+maxIterations = 8
+
+[problem1]
+oscDataFile         = oscDataLaplace4.mat
+
+# level resolution in 2^(-...)
+coarseCantorLevel = 1
+fineCantorLevel = 3
+maxCantorLevel = 4
+
+penaltyFactor = 1
+
+# cg solver
+nestedIteration = 0
+tol = 1e-12
+maxIterations = 8
+
+
+[problem2]
+oscDataFile         = oscDataLaplace4.mat
+
 # level resolution in 2^(-...)
 coarseCantorLevel = 1
 fineCantorLevel = 4
@@ -23,5 +54,3 @@ penaltyFactor = 1
 nestedIteration = 0
 tol = 1e-12
 maxIterations = 8
-
-###########################################
diff --git a/src/geofaultnetworks/results/rock/plot.tex b/src/geofaultnetworks/results/rock/plot.tex
index 3053ad86aba8d339dd72355b385cf3496dbaca2f..96007505bf6161f43ff00044cc32c2b70c22b3b4 100644
--- a/src/geofaultnetworks/results/rock/plot.tex
+++ b/src/geofaultnetworks/results/rock/plot.tex
@@ -7,19 +7,21 @@
 	\def\scale{6}
 	\begin{minipage}[t]{0.45\linewidth}
 			\flushleft
-			\input{levelinterfacenetwork_0.tikz}\\
+			%\input{levelinterfacenetwork_0.tikz}\\
 			\vspace{2em}
-			\input{levelinterfacenetwork_1.tikz}\\
+			%\input{levelinterfacenetwork_1.tikz}\\
 			\vspace{2em}
-			\input{levelinterfacenetwork_2.tikz}\\
+			%\input{levelinterfacenetwork_2.tikz}\\
 			\vfill
 	\end{minipage}
 	\hspace{3em}
 	\begin{minipage}[t]{0.45\linewidth}	
 			\flushright
-			\input{levelinterfacenetwork_3.tikz}\\
+			%\input{levelinterfacenetwork_3.tikz}\\
 			\vspace{2em}
-			\input{levelinterfacenetwork_4.tikz}
+			%\input{levelinterfacenetwork_4.tikz}\\
+			\vspace{2em}
+			\input{levelinterfacenetwork_5.tikz}
 			\vfill
 	\end{minipage}
 \end{document}
\ No newline at end of file
diff --git a/src/geofaultnetworks/rockfaultnetwork.parset b/src/geofaultnetworks/rockfaultnetwork.parset
index a977724af639b1d266215f4e4b1775f592515c43..283eb84f104b80f3808d9bcd3da76e838eb4cd9a 100644
--- a/src/geofaultnetworks/rockfaultnetwork.parset
+++ b/src/geofaultnetworks/rockfaultnetwork.parset
@@ -2,7 +2,7 @@ path        = ../data/
 resultPath  = ../geofaultnetworks/results/rock/
 
 [network]
-randomSeed = 5
+randomSeed = 15
 maxAngle = 2.0
 
 [preconditioner]
@@ -17,7 +17,24 @@ patchDepth = 1
 oscDataFile         = oscDataLaplace4.mat
 
 # level resolution in 2^(-...)
-coarseResolution = 5
+coarseResolution = 4
+fineResolution = 9
+exactResolution = 10
+
+penaltyFactor = 1
+
+# cg solver
+nestedIteration = 0
+tol = 1e-12
+maxIterations = 8
+
+###########################################
+
+[problem1]
+oscDataFile         = oscDataLaplace4.mat
+
+# level resolution in 2^(-...)
+coarseResolution = 4
 fineResolution = 8
 exactResolution = 9
 
@@ -29,3 +46,54 @@ tol = 1e-12
 maxIterations = 8
 
 ###########################################
+
+[problem2]
+oscDataFile         = oscDataLaplace4.mat
+
+# level resolution in 2^(-...)
+coarseResolution = 4
+fineResolution = 7
+exactResolution = 8
+
+penaltyFactor = 1
+
+# cg solver
+nestedIteration = 0
+tol = 1e-12
+maxIterations = 8
+
+###########################################
+
+[problem3]
+oscDataFile         = oscDataLaplace4.mat
+
+# level resolution in 2^(-...)
+coarseResolution = 4
+fineResolution = 6
+exactResolution = 7
+
+penaltyFactor = 1
+
+# cg solver
+nestedIteration = 0
+tol = 1e-12
+maxIterations = 8
+
+###########################################
+
+[problem4]
+oscDataFile         = oscDataLaplace4.mat
+
+# level resolution in 2^(-...)
+coarseResolution = 4
+fineResolution = 5
+exactResolution = 6
+
+penaltyFactor = 1
+
+# cg solver
+nestedIteration = 0
+tol = 1e-12
+maxIterations = 8
+
+###########################################