diff --git a/.gitignore b/.gitignore
index b76375a174a997ee94c893ccef9e9e9138c769dd..c68e2924dce682170ab15fa77236298ad6514549 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,4 +26,4 @@
 /test-driver
 Makefile
 Makefile.in
-src/one-body-sample-?D
+src/sliding-block-?D
diff --git a/configure.ac b/configure.ac
index f1c6b26683e419d75a683c127f39e19aa0cc6edf..0ff34a5477e8725a892f83f2efad9633f779b1ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ AC_PREREQ(2.50)
 DUNE_AC_INIT # gets module version from dune.module file
 AM_INIT_AUTOMAKE
 AM_SILENT_RULES
-AC_CONFIG_SRCDIR([src/one-body-sample.cc])
+AC_CONFIG_SRCDIR([dune-tectonic.pc.in])
 AC_CONFIG_HEADERS([config.h])
 
 DUNE_CHECK_ALL
diff --git a/src/Makefile.am b/src/Makefile.am
index b648151d932a2f0dff6b7b3d15e6bd29030ebb45..b8a7ad36909d3695602b0aeb46dbc0b66353d2f8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,20 +1,17 @@
-bin_PROGRAMS = \
-	one-body-sample-2D
+bin_PROGRAMS = sliding-block-2D
 
-SOURCES = \
+common_sources = \
 	assemblers.cc \
 	boundary_writer.cc \
 	friction_writer.cc \
 	solverfactory.cc \
-	one-body-sample.cc \
 	timestepping.cc \
 	vtk.cc
 
-## 2D
-one_body_sample_2D_SOURCES = $(SOURCES)
-
-one_body_sample_2D_CPPFLAGS = \
-	$(AM_CPPFLAGS) -Dsrcdir=\"$(abs_srcdir)\" -DDIM=2
+sliding_block_2D_SOURCES = $(common_sources) sliding-block.cc
+sliding_block_2D_CPPFLAGS = \
+	$(AM_CPPFLAGS) \
+	-Ddatadir=\"$(abs_srcdir)/sliding-block-data/\" -DDIM=2
 
 # Some are for clang, others are for gcc
 AM_CXXFLAGS = \
diff --git a/src/one-body-sample.py b/src/sliding-block-data/boundaryconditions.py
similarity index 100%
rename from src/one-body-sample.py
rename to src/sliding-block-data/boundaryconditions.py
diff --git a/src/mybody.hh b/src/sliding-block-data/mybody.hh
similarity index 95%
rename from src/mybody.hh
rename to src/sliding-block-data/mybody.hh
index 185b53d3c94f95f434b0fcfe5e46720457c9b143..e21d9f1aa43c666df2b2cc24bc245e49cb7e7ddf 100644
--- a/src/mybody.hh
+++ b/src/sliding-block-data/mybody.hh
@@ -1,5 +1,5 @@
-#ifndef MY_BODY_HH
-#define MY_BODY_HH
+#ifndef SRC_SLIDING_BLOCK_DATA_MYBODY_HH
+#define SRC_SLIDING_BLOCK_DATA_MYBODY_HH
 
 #include <dune/common/fvector.hh>
 
diff --git a/src/mygeometry.hh b/src/sliding-block-data/mygeometry.hh
similarity index 88%
rename from src/mygeometry.hh
rename to src/sliding-block-data/mygeometry.hh
index 42f1fa60464ebff9908315e87f62ab9b2c64bdbf..25bd77360adf0af54a75a7eac82764fac711b9c0 100644
--- a/src/mygeometry.hh
+++ b/src/sliding-block-data/mygeometry.hh
@@ -1,5 +1,5 @@
-#ifndef MY_GEOMETRY_HH
-#define MY_GEOMETRY_HH
+#ifndef SRC_SLIDING_BLOCK_DATA_MYGEOMETRY_HH
+#define SRC_SLIDING_BLOCK_DATA_MYGEOMETRY_HH
 
 #include <dune/common/fassign.hh>
 #include <dune/common/fvector.hh>
diff --git a/src/myglobalfrictiondata.hh b/src/sliding-block-data/myglobalfrictiondata.hh
similarity index 92%
rename from src/myglobalfrictiondata.hh
rename to src/sliding-block-data/myglobalfrictiondata.hh
index 9215edc5235b9a24755ec76cfca0b49039b024ac..f511c13ea5a55fe95a7c7942b12d0d022bd50084 100644
--- a/src/myglobalfrictiondata.hh
+++ b/src/sliding-block-data/myglobalfrictiondata.hh
@@ -1,5 +1,5 @@
-#ifndef MY_GLOBAL_FRICTION_DATA_HH
-#define MY_GLOBAL_FRICTION_DATA_HH
+#ifndef SRC_SLIDING_BLOCK_DATA_MYGLOBALFRICTIONDATA_HH
+#define SRC_SLIDING_BLOCK_DATA_MYGLOBALFRICTIONDATA_HH
 
 #include <dune/common/function.hh>
 #include <dune/common/fvector.hh>
diff --git a/src/mygrid.hh b/src/sliding-block-data/mygrid.hh
similarity index 91%
rename from src/mygrid.hh
rename to src/sliding-block-data/mygrid.hh
index 964c82dce995c5f92e71562f98db635b222985c2..732bff45dd43ec0faea65b8c2af3d0600d532b8b 100644
--- a/src/mygrid.hh
+++ b/src/sliding-block-data/mygrid.hh
@@ -1,3 +1,6 @@
+#ifndef SRC_SLIDING_BLOCK_DATA_MYGRID_HH
+#define SRC_SLIDING_BLOCK_DATA_MYGRID_HH
+
 #include <dune/grid/common/gridfactory.hh>
 
 #include <dune/fufem/boundarypatch.hh>
@@ -32,3 +35,4 @@ template <class GridView, class MyGeometry> class MyFaces {
   BoundaryPatch<GridView> lower;
   BoundaryPatch<GridView> upper;
 };
+#endif
diff --git a/src/one-body-sample.parset b/src/sliding-block-data/parset.cfg
similarity index 100%
rename from src/one-body-sample.parset
rename to src/sliding-block-data/parset.cfg
diff --git a/src/one-body-sample.cc b/src/sliding-block.cc
similarity index 97%
rename from src/one-body-sample.cc
rename to src/sliding-block.cc
index ea51fa266be74ac8765376f0b4fa52f4b66956ac..d3872be8545d9a637ca2019a477b6996f5bbf834 100644
--- a/src/one-body-sample.cc
+++ b/src/sliding-block.cc
@@ -12,8 +12,8 @@
 #undef HAVE_IPOPT
 #endif
 
-#ifndef srcdir
-#error srcdir unset
+#ifndef datadir
+#error datadir unset
 #endif
 
 #ifndef DIM
@@ -74,10 +74,10 @@
 #include "enum_verbosity.cc"
 #include "enums.hh"
 #include "friction_writer.hh"
-#include "mybody.hh"
-#include "mygeometry.hh"
-#include "myglobalfrictiondata.hh"
-#include "mygrid.hh"
+#include "sliding-block-data/mybody.hh"
+#include "sliding-block-data/mygeometry.hh"
+#include "sliding-block-data/myglobalfrictiondata.hh"
+#include "sliding-block-data/mygrid.hh"
 #include "solverfactory.hh"
 #include "state.hh"
 #include "timestepping.hh"
@@ -88,14 +88,13 @@ void initPython() {
   Python::start();
 
   Python::run("import sys");
-  Python::run("sys.path.append('" srcdir "')");
+  Python::run("sys.path.append('" datadir "')");
 }
 
 int main(int argc, char *argv[]) {
   try {
     Dune::ParameterTree parset;
-    Dune::ParameterTreeParser::readINITree(srcdir "/one-body-sample.parset",
-                                           parset);
+    Dune::ParameterTreeParser::readINITree(datadir "/parset.cfg", parset);
     Dune::ParameterTreeParser::readOptions(argc, argv, parset);
 
     MyGeometry const myGeometry;
@@ -140,7 +139,7 @@ int main(int argc, char *argv[]) {
     FunctionMap functions;
     {
       initPython();
-      Python::import("one-body-sample")
+      Python::import("boundaryconditions")
           .get("Functions")
           .toC<typename FunctionMap::Base>(functions);
     }