diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8fd26a40be807bf479348512a2b07c037c101a4a..6efe41192bd1f76c9174c6131382e7504fb4831a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,11 +1,5 @@
 cmake_minimum_required(VERSION 3.1)
-project(dune-amdis CXX)
-
-if(NOT (dune-common_DIR OR dune-common_ROOT OR
-      "${CMAKE_PREFIX_PATH}" MATCHES ".*dune-common.*"))
-    string(REPLACE  ${CMAKE_PROJECT_NAME} dune-common dune-common_DIR
-      ${PROJECT_BINARY_DIR})
-endif()
+project(amdis CXX)
 
 #find dune-common and set the module path
 find_package(dune-common REQUIRED)
@@ -17,33 +11,30 @@ include(DuneMacros)
 
 # start a dune project with information from dune.module
 dune_project()
+
 dune_enable_all_packages(MODULE_LIBRARIES amdis)
 
 include(AmdisMacros)
 add_subdirectory("src")
 add_subdirectory("test")
-add_subdirectory("dune")
+add_subdirectory("examples")
 add_subdirectory("doc")
 add_subdirectory("cmake/modules")
 
 
 # some additional packages and flags
-add_dune_alberta_flags("amdis" OBJECT USE_GENERIC)
-target_compile_definitions("amdis" PUBLIC AMDIS_BACKEND_MTL=1)
-target_compile_options("amdis" PUBLIC -ftemplate-backtrace-limit=0 -Wall -pedantic -Wno-unused-parameter)
-
 find_package(MTL REQUIRED
              PATHS /usr/local/lib/mtl4 /opt/sources/mtl4 /opt/development/mtl4)
 if (MTL_FOUND)
-  target_include_directories("amdis" PUBLIC ${MTL_INCLUDE_DIRS})
+  target_include_directories(amdis PUBLIC ${MTL_INCLUDE_DIRS})
 
   set (CXX_ELEVEN_FEATURE_LIST "MOVE" "AUTO" "RANGEDFOR" "INITLIST" "STATICASSERT" "DEFAULTIMPL")
   foreach (feature ${CXX_ELEVEN_FEATURE_LIST})
-      target_compile_definitions("amdis" PUBLIC MTL_WITH_${feature})
+      target_compile_definitions(amdis PUBLIC MTL_WITH_${feature})
   endforeach ()
 
   if (HAVE_UMFPACK OR ENABLE_SUITESPARSE OR SuiteSparse_FOUND)
-      target_compile_definitions("amdis" PUBLIC MTL_HAS_UMFPACK)
+      target_compile_definitions(amdis PUBLIC MTL_HAS_UMFPACK)
   endif ()
 endif (MTL_FOUND)
 
diff --git a/cmake/modules/AmdisMacros.cmake b/cmake/modules/AmdisMacros.cmake
index 641e272763ba71437d5073fc74823335ee82240c..7c0715ef47d26b2d8b7e0353ab25cae4ae9174b3 100644
--- a/cmake/modules/AmdisMacros.cmake
+++ b/cmake/modules/AmdisMacros.cmake
@@ -1,3 +1,6 @@
 # File for module specific CMake tests.
 
-include(AMDiSCXXFeatures)
\ No newline at end of file
+include(AMDiSCXXFeatures)
+
+#find_package(SuiteSparse)
+#find_package(Alberta)
\ No newline at end of file
diff --git a/doc/Mainpage.md b/doc/Mainpage.md
index 3ba934717cac878f3e1003d923844b6bb09ad567..fb1d0f79936a28d21337450f57dd8b3b945219f0 100644
--- a/doc/Mainpage.md
+++ b/doc/Mainpage.md
@@ -13,10 +13,10 @@ and \f$ g(x) \equiv 0 \f$, the domain \f$ \Omega \f$ a square domain \f$ [0,1]^2
 and \f$ \Gamma \f$ the lower and left edge of the boundary.
 
 ~~~~~~~~~~~~~~~{.cpp}
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/AdaptInfo.hpp>
-#include <dune/amdis/AdaptStationary.hpp>
-#include <dune/amdis/ProblemStat.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/AdaptInfo.hpp>
+#include <amdis/AdaptStationary.hpp>
+#include <amdis/ProblemStat.hpp>
 
 // The namespace all AMDiS classes and functions are defined in
 using namespace AMDiS;
diff --git a/dune.module b/dune.module
index a103d5f05a2bbf646ab60c370536c81499a89c66..123a1d68389b2070a8bc1791685b84a2da1045e7 100644
--- a/dune.module
+++ b/dune.module
@@ -3,7 +3,7 @@
 ################################
 
 #Name of the module
-Module: dune-amdis
+Module: amdis
 Version: 0.1
 Maintainer: simon.praetorius@tu-dresden.de
 #depending on
diff --git a/dune/CMakeLists.txt b/dune/CMakeLists.txt
deleted file mode 100644
index d5b6e792ed77a5ea64a5263fe4be6d427aa59715..0000000000000000000000000000000000000000
--- a/dune/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-add_subdirectory(amdis)
-# add_subdirectory(amdis/test)
\ No newline at end of file
diff --git a/dune/amdis/LinearAlgebra.hpp b/dune/amdis/LinearAlgebra.hpp
deleted file mode 100644
index 676c486cae92af6237ac009a96903d036043b715..0000000000000000000000000000000000000000
--- a/dune/amdis/LinearAlgebra.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#pragma once
-
-#include <dune/amdis/linear_algebra/LinearSolverInterface.hpp>
-#include <dune/amdis/linear_algebra/SolverInfo.hpp>
-
-#if defined(AMDIS_BACKEND_ISTL)
-
-#include <dune/amdis/linear_algebra/istl/SystemVector.hpp>
-#include <dune/amdis/linear_algebra/istl/SystemMatrix.hpp>
-#include <dune/amdis/linear_algebra/istl/LinearSolver.hpp>
-
-#elif defined(AMDIS_BACKEND_MTL)
-
-#include <dune/amdis/linear_algebra/mtl/SystemVector.hpp>
-#include <dune/amdis/linear_algebra/mtl/SystemMatrix.hpp>
-#include <dune/amdis/linear_algebra/mtl/LinearSolver.hpp>
-#include <dune/amdis/linear_algebra/mtl/ITL_Solver.hpp>
-#include <dune/amdis/linear_algebra/mtl/BITL_Solver.hpp>
-
-#elif defined(AMDIS_BACKEND_PETSC)
-
-#include <dune/amdis/linear_algebra/petsc/SystemVector.hpp>
-#include <dune/amdis/linear_algebra/petsc/SystemMatrix.hpp>
-#include <dune/amdis/linear_algebra/petsc/LinearSolver.hpp>
-
-#else
-
-#error "Unknown linear algebra backend!. Set corresponding variable \
-        AMDIS_BACKEND_ISTL, AMDIS_BACKEND_MTL or AMDIS_BACKEND_PETSC."
-
-#endif
\ No newline at end of file
diff --git a/dune/amdis/utility/CMakeLists.txt b/dune/amdis/utility/CMakeLists.txt
deleted file mode 100644
index a1afc3cf201cb6aab450bd4672117a8324292a23..0000000000000000000000000000000000000000
--- a/dune/amdis/utility/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-#install headers
-
-dune_library_add_sources(amdis SOURCES
-    Filesystem.cpp
-)
-
-install(FILES
-    Filesystem.hpp
-    FiniteElementType.hpp
-    MultiIndex.hpp
-    RangeType.hpp
-    String.hpp
-    Traversal.hpp
-    TreeData.hpp
-    TreePath.hpp
-    Visitor.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/utility)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cbce17cccf35bf5d57e561d5a7101baeb5eac39f
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,20 @@
+
+set(projects2d "ellipt" "heat" "vecellipt" "stokes0" "stokes1" "stokes3" "navier_stokes")
+
+foreach(project ${projects2d})
+    add_executable(${project}.2d ${project}.cc)
+    add_dune_alberta_flags(GRIDDIM 2 WORLDDIM 2 ${project}.2d)
+    target_link_dune_default_libraries(${project}.2d)
+    target_link_libraries(${project}.2d "amdis")
+    target_compile_definitions(${project}.2d PRIVATE AMDIS_DIM=2 AMDIS_DOW=2)
+endforeach()
+
+set(projects3d "ellipt" "heat")
+
+foreach(project ${projects3d})
+    add_executable(${project}.3d ${project}.cc)
+    add_dune_alberta_flags(GRIDDIM 3 WORLDDIM 3 ${project}.3d)
+    target_link_dune_default_libraries(${project}.3d)
+    target_link_libraries(${project}.3d "amdis")
+    target_compile_definitions(${project}.3d PRIVATE AMDIS_DIM=3 AMDIS_DOW=3)
+endforeach()
\ No newline at end of file
diff --git a/src/ellipt.cc b/examples/ellipt.cc
similarity index 90%
rename from src/ellipt.cc
rename to examples/ellipt.cc
index e9b7e8a2a66219008cda821f71991fcc5e18a185..9b2e89147a8defbb4f1a32f990272379544b4a54 100644
--- a/src/ellipt.cc
+++ b/examples/ellipt.cc
@@ -3,10 +3,10 @@
 
 #include <iostream>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
-#include <dune/amdis/common/Literals.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
+#include <amdis/common/Literals.hpp>
 
 using namespace AMDiS;
 
diff --git a/src/heat.cc b/examples/heat.cc
similarity index 84%
rename from src/heat.cc
rename to examples/heat.cc
index ac4786a72151b1ed8ec15da482d0cdb388e7f3b2..d232264159f3ca35290fbaf364d9b3c06b032400 100644
--- a/src/heat.cc
+++ b/examples/heat.cc
@@ -3,13 +3,13 @@
 
 #include <iostream>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/AdaptInstationary.hpp>
-#include <dune/amdis/ProblemInstat.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
-#include <dune/amdis/GridFunctions.hpp>
-#include <dune/amdis/common/Literals.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/AdaptInstationary.hpp>
+#include <amdis/ProblemInstat.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
+#include <amdis/GridFunctions.hpp>
+#include <amdis/common/Literals.hpp>
 
 using namespace AMDiS;
 
diff --git a/src/navier_stokes.cc b/examples/navier_stokes.cc
similarity index 87%
rename from src/navier_stokes.cc
rename to examples/navier_stokes.cc
index ec3254eac95e4a86503ef3491ce710c9ba566b40..39faa08522c5e967a822168bfe38e04ac3b85357 100644
--- a/src/navier_stokes.cc
+++ b/examples/navier_stokes.cc
@@ -2,27 +2,18 @@
 #include <ctime>
 #include <cmath>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/AdaptInstationary.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/ProblemInstat.hpp>
-#include <dune/amdis/Operators.hpp>
-#include <dune/amdis/assembler/StokesOperator.hpp>
-
-#ifdef DOW
-#undef DOW
-#endif
-#define DOW AMDIS_DOW
-
-#ifndef STRATEGY
-#define STRATEGY 1
-#endif
+#include <amdis/AMDiS.hpp>
+#include <amdis/AdaptInstationary.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/ProblemInstat.hpp>
+#include <amdis/Operators.hpp>
+#include <amdis/assembler/StokesOperator.hpp>
 
 using namespace AMDiS;
 
 struct NavierStokesBasis
 {
-  using Grid = Dune::AlbertaGrid<AMDIS_DIM,AMDIS_DOW>;
+  using Grid = Dune::YaspGrid<AMDIS_DIM>;
   using GlobalBasis = typename TaylorHoodBasis<Grid::LeafGridView>::GlobalBasis;
 };
 
@@ -69,7 +60,7 @@ int main(int argc, char** argv)
   auto opNonlin1 = makeOperator(tag::testvec_trialvec{}, density * trans(gradientAtQP(prob.getSolution(_v))));
   prob.addMatrixOperator(opNonlin1, _v, _v);
 
-  for (std::size_t i = 0; i < DOW; ++i) {
+  for (std::size_t i = 0; i < AMDIS_DOW; ++i) {
     // <(u^old * nabla)u_i, v_i>
     auto opNonlin2 = makeOperator(tag::test_gradtrial{}, density * prob.getSolution(_v));
     prob.addMatrixOperator(opNonlin2, treepath(_v,i), treepath(_v,i));
diff --git a/src/BlockPreconditioner.hpp b/examples/old/BlockPreconditioner.hpp
similarity index 95%
rename from src/BlockPreconditioner.hpp
rename to examples/old/BlockPreconditioner.hpp
index 80131c4c22f36c55ea77f4032fcc36dc1a2a37c7..423e3f7ef9743a104d902a0307a36e4544104fbd 100644
--- a/src/BlockPreconditioner.hpp
+++ b/examples/old/BlockPreconditioner.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/LinearAlgebra.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/LinearAlgebra.hpp>
 
 namespace AMDiS
 {
diff --git a/src/MTLPfcPrecon.hpp b/examples/old/MTLPfcPrecon.hpp
similarity index 98%
rename from src/MTLPfcPrecon.hpp
rename to examples/old/MTLPfcPrecon.hpp
index 1ba8a04a1a54ea82ce0f68dbd20606ff5805a87a..4f9ca3021b7c23f5359e8fee701cc5fe68cdc35b 100644
--- a/src/MTLPfcPrecon.hpp
+++ b/examples/old/MTLPfcPrecon.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
 #include "BlockPreconditioner.hpp"
-#include <dune/amdis/common/Literals.hpp>
+#include <amdis/common/Literals.hpp>
 
 namespace AMDiS
 {
diff --git a/src/MTLPfcPrecon.inc.hpp b/examples/old/MTLPfcPrecon.inc.hpp
similarity index 100%
rename from src/MTLPfcPrecon.inc.hpp
rename to examples/old/MTLPfcPrecon.inc.hpp
diff --git a/src/PfcPrecon.hpp b/examples/old/PfcPrecon.hpp
similarity index 98%
rename from src/PfcPrecon.hpp
rename to examples/old/PfcPrecon.hpp
index d88256fcf4d781d82a96ccc7b8647f8f7535c68c..1b8b9fe17f5a279a60a12915ebade4006d5a5ec9 100644
--- a/src/PfcPrecon.hpp
+++ b/examples/old/PfcPrecon.hpp
@@ -9,7 +9,7 @@
 #include <dune/istl/multitypeblockvector.hh>
 #include <dune/istl/preconditioner.hh>
 
-#include <dune/amdis/common/Mpl.hpp>
+#include <amdis/common/Mpl.hpp>
 
 namespace AMDiS {
 
diff --git a/src/pfc.cc b/examples/old/pfc.cc
similarity index 94%
rename from src/pfc.cc
rename to examples/old/pfc.cc
index 0e4637adbd30a699790c1f7f42168efcc0cf2c2e..984901fa7ca1092f67b26368e6cb080bc912e501 100644
--- a/src/pfc.cc
+++ b/examples/old/pfc.cc
@@ -5,11 +5,11 @@
 #include <ctime>
 #include <cmath>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/AdaptInstationary.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/ProblemInstat.hpp>
-#include <dune/amdis/Terms.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/AdaptInstationary.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/ProblemInstat.hpp>
+#include <amdis/Terms.hpp>
 
 #include "MTLPfcPrecon.hpp"
 
diff --git a/src/stokes0.cc b/examples/stokes0.cc
similarity index 84%
rename from src/stokes0.cc
rename to examples/stokes0.cc
index f03b6d3f512c85a8801a2d33cd69a81e006e19dd..fac4ec6dac9731d418c1d83367ed9942d473c01b 100644
--- a/src/stokes0.cc
+++ b/examples/stokes0.cc
@@ -2,9 +2,9 @@
 #include <ctime>
 #include <cmath>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
 
 #ifdef DOW
 #undef DOW
@@ -47,6 +47,8 @@ int main(int argc, char** argv)
       prob.addMatrixOperator(opDiv, _p, treepath(_v,i));
     }
 
+    auto opZero = makeOperator(tag::test_trial{}, 0.0);
+    prob.addMatrixOperator(opZero, _p, _p);
 
     // define boundary regions
     auto left = [](auto const& x) { return x[0] < 1.e-8; };
@@ -74,6 +76,11 @@ int main(int argc, char** argv)
     // assemble and solve system
     prob.buildAfterCoarsen(adaptInfo, Flag(0));
 
+    // write matrix to file
+    mtl::io::matrix_market_ostream out("matrix_stokes0.mtx");
+    out << prob.getSystemMatrix()->getMatrix();
+    std::cout << prob.getSystemMatrix()->getMatrix() << '\n';
+
     prob.solve(adaptInfo);
 
     // output solution
diff --git a/src/stokes1.cc b/examples/stokes1.cc
similarity index 81%
rename from src/stokes1.cc
rename to examples/stokes1.cc
index 050f5b17570a7eeebaa7300fb3dd1087791e5056..c8d92b6dd87e354ef349a2e3fb9e7607039d7e19 100644
--- a/src/stokes1.cc
+++ b/examples/stokes1.cc
@@ -2,9 +2,9 @@
 #include <ctime>
 #include <cmath>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
 
 #ifdef DOW
 #undef DOW
@@ -78,14 +78,9 @@ int main(int argc, char** argv)
     prob.buildAfterCoarsen(adaptInfo, Flag(0));
 
     // write matrix to file
-    if (Parameters::get<int>("stokesMesh->global refinements").value_or(0) < 2) {
-      mtl::io::matrix_market_ostream out("stokes_matrix.mtx");
-      out << prob.getSystemMatrix()->getMatrix();
-
-      std::cout << "A = \n" << prob.getSystemMatrix()->getMatrix() << '\n';
-      std::cout << "x = \n" << prob.getSolution()->getVector() << '\n';
-      std::cout << "b = \n" << prob.getRhs()->getVector() << '\n';
-    }
+    mtl::io::matrix_market_ostream out("matrix_stokes1.mtx");
+    out << prob.getSystemMatrix()->getMatrix();
+    std::cout << prob.getSystemMatrix()->getMatrix() << '\n';
 
     prob.solve(adaptInfo);
 
diff --git a/src/stokes3.cc b/examples/stokes3.cc
similarity index 87%
rename from src/stokes3.cc
rename to examples/stokes3.cc
index d81c266abb5edad5b45f36454aab65c13fd05225..76db5c2d9feda07418ab1a7854465245d2db04da 100644
--- a/src/stokes3.cc
+++ b/examples/stokes3.cc
@@ -2,10 +2,10 @@
 #include <ctime>
 #include <cmath>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
-#include <dune/amdis/assembler/StokesOperator.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
+#include <amdis/assembler/StokesOperator.hpp>
 
 using namespace AMDiS;
 
@@ -30,6 +30,9 @@ int main(int argc, char** argv)
   auto opStokes = makeOperator(tag::stokes{}, viscosity);
   prob.addMatrixOperator(opStokes, treepath(), treepath());
 
+  auto opZero = makeOperator(tag::test_trial{}, 0.0);
+  prob.addMatrixOperator(opZero, _p, _p);
+
   // define boundary regions
   auto left = [](auto const& x) { return x[0] < 1.e-8; };
   auto not_left = [](auto const& x) { return x[0] > 1.0 - 1.e-8 || x[1] < 1.e-8 || x[1] > 1.0 - 1.e-8; };
diff --git a/src/vecellipt.cc b/examples/vecellipt.cc
similarity index 93%
rename from src/vecellipt.cc
rename to examples/vecellipt.cc
index befad34ba97f55300fadb5e19916c04bad05e2c8..2b214042246ab5899dc5456604d21f50b7f9958d 100644
--- a/src/vecellipt.cc
+++ b/examples/vecellipt.cc
@@ -1,8 +1,8 @@
 #include <iostream>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
 
 using namespace AMDiS;
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 846b1c3936e9f99c884b8ef6cdfd1ca3c9c06a88..40bcf102c971ada8c4e1fdb7e1f7da7e38259345 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,20 +1 @@
-
-set(projects2d "ellipt" "heat" "vecellipt" "expressions" "stokes0" "stokes1" "stokes3")
-
-foreach(project ${projects2d})
-    add_executable(${project}.2d ${project}.cc)
-    add_dune_alberta_flags(GRIDDIM 2 WORLDDIM 2 ${project}.2d)
-    target_link_dune_default_libraries(${project}.2d)
-    target_link_libraries(${project}.2d "amdis")
-    target_compile_definitions(${project}.2d PRIVATE AMDIS_DIM=2 AMDIS_DOW=2)
-endforeach()
-
-set(projects3d "ellipt" "heat")
-
-foreach(project ${projects3d})
-    add_executable(${project}.3d ${project}.cc)
-    add_dune_alberta_flags(GRIDDIM 3 WORLDDIM 3 ${project}.3d)
-    target_link_dune_default_libraries(${project}.3d)
-    target_link_libraries(${project}.3d "amdis")
-    target_compile_definitions(${project}.3d PRIVATE AMDIS_DIM=3 AMDIS_DOW=3)
-endforeach()
\ No newline at end of file
+add_subdirectory(amdis)
\ No newline at end of file
diff --git a/src/amdis.cc b/src/amdis.cc
deleted file mode 100644
index 9faa99c18c20db276d4390009b6c2638d457650c..0000000000000000000000000000000000000000
--- a/src/amdis.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-// vi: set et ts=4 sw=2 sts=2:
-
-#include <iostream>
-
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Terms.hpp>
-
-using namespace AMDiS;
-
-// 1 component with polynomial degree 1
-using HeatParam   = TestTraits<AMDIS_DIM, 2>;
-using HeatProblem = ProblemStat<HeatParam>;
-
-int main(int argc, char** argv)
-{
-    AMDiS::init(argc, argv);
-
-    HeatProblem prob("heat");
-    prob.initialize(INIT_ALL);
-
-    AdaptInfo adaptInfo("adapt");
-
-    double tau = adaptInfo.getTimestep();
-    AMDIS_MSG("timestep = " << tau);
-
-    using Op = HeatProblem::ElementOperator;
-    Op opLhs;
-    opLhs.addZOT( constant(1.0/tau) );
-    opLhs.addSOT( constant(1.0) );
-
-    Op opRhs;
-    opRhs.addZOT( valueOf(prob.getSolution<0>(), 1.0/tau) );
-    opRhs.addZOT( eval([](auto const& x) { return -1.0; }) );
-
-    prob.addMatrixOperator(opLhs, 0, 0);
-    prob.addVectorOperator(opRhs, 0);
-
-    // set boundary condition
-    auto predicate = [](auto const& p){ return p[0] < 1.e-8 || p[1] < 1.e-8; };
-    auto dbcValues = [](auto const& p){ return 0.0; };
-    prob.addDirichletBC(predicate, 0, 0, dbcValues);
-
-    prob.getSolution<0>().getVector() = 0.0;
-    double t = 0.0;
-    for (t = adaptInfo.getStartTime();
-         t < adaptInfo.getEndTime();
-         t+= adaptInfo.getTimestep())
-    {
-        prob.writeFiles(adaptInfo, t);
-        prob.buildAfterCoarsen(adaptInfo, Flag(0));
-        prob.solve(adaptInfo);
-    }
-
-    prob.writeFiles(adaptInfo, t);
-    AMDiS::finalize();
-    return 0;
-}
\ No newline at end of file
diff --git a/dune/amdis/AMDiS.cpp b/src/amdis/AMDiS.cpp
similarity index 88%
rename from dune/amdis/AMDiS.cpp
rename to src/amdis/AMDiS.cpp
index 4b0af1965b2abf7ac4533df967ab8e665f96335a..8930d83a05666f28a63bdbb4a74fc72fa02188e3 100644
--- a/dune/amdis/AMDiS.cpp
+++ b/src/amdis/AMDiS.cpp
@@ -1,8 +1,8 @@
 #include "AMDiS.hpp"
 
 // AMDiS includes
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/Output.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/Output.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/AMDiS.hpp b/src/amdis/AMDiS.hpp
similarity index 100%
rename from dune/amdis/AMDiS.hpp
rename to src/amdis/AMDiS.hpp
diff --git a/dune/amdis/AdaptBase.cpp b/src/amdis/AdaptBase.cpp
similarity index 100%
rename from dune/amdis/AdaptBase.cpp
rename to src/amdis/AdaptBase.cpp
diff --git a/dune/amdis/AdaptBase.hpp b/src/amdis/AdaptBase.hpp
similarity index 100%
rename from dune/amdis/AdaptBase.hpp
rename to src/amdis/AdaptBase.hpp
diff --git a/dune/amdis/AdaptInfo.cpp b/src/amdis/AdaptInfo.cpp
similarity index 98%
rename from dune/amdis/AdaptInfo.cpp
rename to src/amdis/AdaptInfo.cpp
index cc3ab743ccb70a1f60a2fe9d8159c8ce2fca4f63..d26d861dc6340aefc94e323f57f0f8211dd42fb9 100644
--- a/dune/amdis/AdaptInfo.cpp
+++ b/src/amdis/AdaptInfo.cpp
@@ -4,7 +4,7 @@
 #include <string>
 #include <iostream>
 
-#include <dune/amdis/Initfile.hpp>
+#include <amdis/Initfile.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/AdaptInfo.hpp b/src/amdis/AdaptInfo.hpp
similarity index 99%
rename from dune/amdis/AdaptInfo.hpp
rename to src/amdis/AdaptInfo.hpp
index 019d94e34a5bdae145e5aea386ae684980596b3c..6b7d6baec565469610bdaba8689160d83eb1d191 100644
--- a/dune/amdis/AdaptInfo.hpp
+++ b/src/amdis/AdaptInfo.hpp
@@ -8,8 +8,8 @@
 #include <vector>
 
 // AMDiS includes
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/Math.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/Math.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/AdaptInstationary.cpp b/src/amdis/AdaptInstationary.cpp
similarity index 96%
rename from dune/amdis/AdaptInstationary.cpp
rename to src/amdis/AdaptInstationary.cpp
index bc5d28a611ab9ba9219ac1b6ca4a6e9b12e26b44..05e4b9fd030cdaf2dcd34e8dbb6b722d15ae99ab 100644
--- a/dune/amdis/AdaptInstationary.cpp
+++ b/src/amdis/AdaptInstationary.cpp
@@ -1,12 +1,12 @@
 #include "AdaptInstationary.hpp"
 
 // AMDiS includes
-#include <dune/amdis/AdaptInfo.hpp>
-#include <dune/amdis/Flag.hpp>
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/ProblemIterationInterface.hpp>
-#include <dune/amdis/ProblemTimeInterface.hpp>
+#include <amdis/AdaptInfo.hpp>
+#include <amdis/Flag.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/ProblemIterationInterface.hpp>
+#include <amdis/ProblemTimeInterface.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/AdaptInstationary.hpp b/src/amdis/AdaptInstationary.hpp
similarity index 100%
rename from dune/amdis/AdaptInstationary.hpp
rename to src/amdis/AdaptInstationary.hpp
diff --git a/dune/amdis/AdaptStationary.cpp b/src/amdis/AdaptStationary.cpp
similarity index 100%
rename from dune/amdis/AdaptStationary.cpp
rename to src/amdis/AdaptStationary.cpp
diff --git a/dune/amdis/AdaptStationary.hpp b/src/amdis/AdaptStationary.hpp
similarity index 100%
rename from dune/amdis/AdaptStationary.hpp
rename to src/amdis/AdaptStationary.hpp
diff --git a/dune/amdis/Assembler.hpp b/src/amdis/Assembler.hpp
similarity index 94%
rename from dune/amdis/Assembler.hpp
rename to src/amdis/Assembler.hpp
index ed2127cebca838dd7e5bbbeba498a91a1b7ccafa..ac4d8ff45517f52bbbef78c7d12c4bb2353b9426 100644
--- a/dune/amdis/Assembler.hpp
+++ b/src/amdis/Assembler.hpp
@@ -6,11 +6,11 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/common/fvector.hh>
 
-#include <dune/amdis/DirichletBC.hpp>
-#include <dune/amdis/LinearAlgebra.hpp>
-#include <dune/amdis/LocalAssemblerBase.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/common/TypeDefs.hpp>
+#include <amdis/DirichletBC.hpp>
+#include <amdis/LinearAlgebra.hpp>
+#include <amdis/LocalAssemblerBase.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/common/TypeDefs.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/Assembler.inc.hpp b/src/amdis/Assembler.inc.hpp
similarity index 98%
rename from dune/amdis/Assembler.inc.hpp
rename to src/amdis/Assembler.inc.hpp
index c0f5fa825e57cbf41e83297eac8f380192f469cf..69d37bdaaf42917dc6c5c6b78d4ee2d8b020c166 100644
--- a/dune/amdis/Assembler.inc.hpp
+++ b/src/amdis/Assembler.inc.hpp
@@ -1,10 +1,10 @@
 #pragma once
 
 #include <dune/functions/functionspacebases/subspacebasis.hh>
-#include <dune/amdis/utility/TreePath.hpp>
-#include <dune/amdis/utility/Visitor.hpp>
+#include <amdis/utility/TreePath.hpp>
+#include <amdis/utility/Visitor.hpp>
 
-#include <dune/amdis/common/Math.hpp>
+#include <amdis/common/Math.hpp>
 
 namespace AMDiS {
 
diff --git a/dune/amdis/CMakeLists.txt b/src/amdis/CMakeLists.txt
similarity index 94%
rename from dune/amdis/CMakeLists.txt
rename to src/amdis/CMakeLists.txt
index 98bffe8b823b6e45f982fe39f5fbdd20cdbb6ed0..225a825bb070abfa7bc23020389b83df21d68d1a 100644
--- a/dune/amdis/CMakeLists.txt
+++ b/src/amdis/CMakeLists.txt
@@ -13,6 +13,7 @@ dune_library_add_sources(amdis SOURCES
     ProblemStat.cpp
     StandardProblemIteration.cpp
 )
+link_libraries(amdis)
 
 install(FILES
     AdaptBase.hpp
@@ -50,7 +51,7 @@ install(FILES
     ProblemStatTraits.hpp
     ProblemTimeInterface.hpp
     StandardProblemIteration.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis)
 
 add_subdirectory("assembler")
 add_subdirectory("common")
diff --git a/dune/amdis/ContextGeometry.hpp b/src/amdis/ContextGeometry.hpp
similarity index 100%
rename from dune/amdis/ContextGeometry.hpp
rename to src/amdis/ContextGeometry.hpp
diff --git a/dune/amdis/CreatorInterface.hpp b/src/amdis/CreatorInterface.hpp
similarity index 96%
rename from dune/amdis/CreatorInterface.hpp
rename to src/amdis/CreatorInterface.hpp
index 0400989f6255b24bd64d8886abc02ffaa86a7bee..495c1934e0395b32f73649e3d4883feaf93cbc9e 100644
--- a/dune/amdis/CreatorInterface.hpp
+++ b/src/amdis/CreatorInterface.hpp
@@ -3,8 +3,8 @@
 #include <memory>
 #include <string>
 
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/Output.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/Output.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/CreatorMap.hpp b/src/amdis/CreatorMap.hpp
similarity index 98%
rename from dune/amdis/CreatorMap.hpp
rename to src/amdis/CreatorMap.hpp
index b2f3e4f66f02b7fe7c3d84ab2896f27802f2742e..d0805353d1e817b88c94b50fb6f791d4e5ff97c8 100644
--- a/dune/amdis/CreatorMap.hpp
+++ b/src/amdis/CreatorMap.hpp
@@ -5,7 +5,7 @@
 #include <string>
 
 // AMDiS includes
-#include <dune/amdis/CreatorInterface.hpp>
+#include <amdis/CreatorInterface.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/DirichletBC.hpp b/src/amdis/DirichletBC.hpp
similarity index 95%
rename from dune/amdis/DirichletBC.hpp
rename to src/amdis/DirichletBC.hpp
index 40eced31d9b51441dee7f3b569791d44e4275727..9e40fea8fedaa62e80c6e0d4bdee64f6f0bddb68 100644
--- a/dune/amdis/DirichletBC.hpp
+++ b/src/amdis/DirichletBC.hpp
@@ -5,11 +5,11 @@
 #include <type_traits>
 #include <vector>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
-#include <dune/amdis/utility/RangeType.hpp>
-#include <dune/amdis/utility/TreeData.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/ValueCategory.hpp>
+#include <amdis/utility/RangeType.hpp>
+#include <amdis/utility/TreeData.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/DirichletBC.inc.hpp b/src/amdis/DirichletBC.inc.hpp
similarity index 95%
rename from dune/amdis/DirichletBC.inc.hpp
rename to src/amdis/DirichletBC.inc.hpp
index 9b10151482ee026d317f41ea4cc1a27adb147e5e..2f9611759b722e5a5714291a8509d166dfb29a8e 100644
--- a/dune/amdis/DirichletBC.inc.hpp
+++ b/src/amdis/DirichletBC.inc.hpp
@@ -2,8 +2,8 @@
 
 #include <dune/functions/functionspacebases/interpolate.hh>
 #include <dune/functions/functionspacebases/subspacebasis.hh>
-#include <dune/amdis/LinearAlgebra.hpp>
-#include <dune/amdis/linear_algebra/HierarchicWrapper.hpp>
+#include <amdis/LinearAlgebra.hpp>
+#include <amdis/linear_algebra/HierarchicWrapper.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/FileWriter.hpp b/src/amdis/FileWriter.hpp
similarity index 93%
rename from dune/amdis/FileWriter.hpp
rename to src/amdis/FileWriter.hpp
index e0a16cfa74c6074f5b83de2b7c8e3e08a612b918..8b59c4cb47af7963e2a589431d9611fa157ec631 100644
--- a/dune/amdis/FileWriter.hpp
+++ b/src/amdis/FileWriter.hpp
@@ -9,12 +9,12 @@
 //#include <dune/geometry/referenceelements.hh>
 #include <dune/typetree/childextraction.hh>
 
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/common/Size.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
-#include <dune/amdis/gridfunctions/DOFVectorView.hpp>
-#include <dune/amdis/io/FileWriterInterface.hpp>
-#include <dune/amdis/utility/Filesystem.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/common/Size.hpp>
+#include <amdis/common/ValueCategory.hpp>
+#include <amdis/gridfunctions/DOFVectorView.hpp>
+#include <amdis/io/FileWriterInterface.hpp>
+#include <amdis/utility/Filesystem.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/FiniteElementSpaces.hpp b/src/amdis/FiniteElementSpaces.hpp
similarity index 96%
rename from dune/amdis/FiniteElementSpaces.hpp
rename to src/amdis/FiniteElementSpaces.hpp
index 7f0c6699a7cadd302617235ef79a19f9d01b6f59..10775960cc76104b8a24d2a8a217c52b4597f22e 100644
--- a/dune/amdis/FiniteElementSpaces.hpp
+++ b/src/amdis/FiniteElementSpaces.hpp
@@ -1,8 +1,8 @@
 #pragma once
 
-#include <dune/amdis/common/TupleUtility.hpp>
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/Loops.hpp>
+#include <amdis/common/TupleUtility.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/Loops.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/Flag.hpp b/src/amdis/Flag.hpp
similarity index 100%
rename from dune/amdis/Flag.hpp
rename to src/amdis/Flag.hpp
diff --git a/dune/amdis/GridFunctionOperator.hpp b/src/amdis/GridFunctionOperator.hpp
similarity index 99%
rename from dune/amdis/GridFunctionOperator.hpp
rename to src/amdis/GridFunctionOperator.hpp
index 898168f6de35e5e0f7b1532474895ac4922292e5..f2d07ac6b9f340de82ebe9acfd8ac7ad6316e216 100644
--- a/dune/amdis/GridFunctionOperator.hpp
+++ b/src/amdis/GridFunctionOperator.hpp
@@ -3,9 +3,9 @@
 #include <cassert>
 #include <type_traits>
 
-#include <dune/amdis/GridFunctions.hpp>
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/utility/FiniteElementType.hpp>
+#include <amdis/GridFunctions.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/utility/FiniteElementType.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/GridFunctions.hpp b/src/amdis/GridFunctions.hpp
similarity index 91%
rename from dune/amdis/GridFunctions.hpp
rename to src/amdis/GridFunctions.hpp
index 2bcff0d1e6c708849fd32341f85d1798a1e6a2e0..f25d3ef7f7ef8d3d17d32875d562373133b24c48 100644
--- a/dune/amdis/GridFunctions.hpp
+++ b/src/amdis/GridFunctions.hpp
@@ -61,12 +61,12 @@
   *   + `auto value1 = integrate(sin(X(0)), 4);`
   **/
 
-#include <dune/amdis/gridfunctions/AnalyticGridFunction.hpp>
-#include <dune/amdis/gridfunctions/ConstantGridFunction.hpp>
-#include <dune/amdis/gridfunctions/CoordsGridFunction.hpp>
-#include <dune/amdis/gridfunctions/DerivativeGridFunction.hpp>
-#include <dune/amdis/gridfunctions/FunctorGridFunction.hpp>
-#include <dune/amdis/gridfunctions/OperationsGridFunction.hpp>
+#include <amdis/gridfunctions/AnalyticGridFunction.hpp>
+#include <amdis/gridfunctions/ConstantGridFunction.hpp>
+#include <amdis/gridfunctions/CoordsGridFunction.hpp>
+#include <amdis/gridfunctions/DerivativeGridFunction.hpp>
+#include <amdis/gridfunctions/FunctorGridFunction.hpp>
+#include <amdis/gridfunctions/OperationsGridFunction.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/Initfile.cpp b/src/amdis/Initfile.cpp
similarity index 92%
rename from dune/amdis/Initfile.cpp
rename to src/amdis/Initfile.cpp
index 6c406213b8194761a9c6824fc5f91ba5f3b3bbbd..6987dfee0dff6a665fad4e6f3b640504bca0db0a 100644
--- a/dune/amdis/Initfile.cpp
+++ b/src/amdis/Initfile.cpp
@@ -1,6 +1,6 @@
-#include <dune/amdis/Initfile.hpp>
+#include <amdis/Initfile.hpp>
 
-#include <dune/amdis/InitfileParser.hpp>
+#include <amdis/InitfileParser.hpp>
 
 // a parser for arithmetic expressions
 // #include <muParser.h>
diff --git a/dune/amdis/Initfile.hpp b/src/amdis/Initfile.hpp
similarity index 100%
rename from dune/amdis/Initfile.hpp
rename to src/amdis/Initfile.hpp
diff --git a/dune/amdis/InitfileParser.cpp b/src/amdis/InitfileParser.cpp
similarity index 96%
rename from dune/amdis/InitfileParser.cpp
rename to src/amdis/InitfileParser.cpp
index 1803b661c77e1829ae8fba5e9d5b237186dd95d7..e1c7ee66755ec4447f249d7f2ee5f1aa0dc618f9 100644
--- a/dune/amdis/InitfileParser.cpp
+++ b/src/amdis/InitfileParser.cpp
@@ -1,8 +1,8 @@
-#include <dune/amdis/InitfileParser.hpp>
+#include <amdis/InitfileParser.hpp>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/utility/Filesystem.hpp>
-#include <dune/amdis/utility/String.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/utility/Filesystem.hpp>
+#include <amdis/utility/String.hpp>
 
 namespace AMDiS {
 
diff --git a/dune/amdis/InitfileParser.hpp b/src/amdis/InitfileParser.hpp
similarity index 100%
rename from dune/amdis/InitfileParser.hpp
rename to src/amdis/InitfileParser.hpp
diff --git a/src/amdis/LinearAlgebra.hpp b/src/amdis/LinearAlgebra.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..569c7457b973b15f23645ab52a57761317b6c9d5
--- /dev/null
+++ b/src/amdis/LinearAlgebra.hpp
@@ -0,0 +1,31 @@
+#pragma once
+
+#include <amdis/linear_algebra/LinearSolverInterface.hpp>
+#include <amdis/linear_algebra/SolverInfo.hpp>
+
+#if defined(AMDIS_BACKEND_ISTL)
+
+#include <amdis/linear_algebra/istl/SystemVector.hpp>
+#include <amdis/linear_algebra/istl/SystemMatrix.hpp>
+#include <amdis/linear_algebra/istl/LinearSolver.hpp>
+
+#elif defined(AMDIS_BACKEND_MTL)
+
+#include <amdis/linear_algebra/mtl/SystemVector.hpp>
+#include <amdis/linear_algebra/mtl/SystemMatrix.hpp>
+#include <amdis/linear_algebra/mtl/LinearSolver.hpp>
+#include <amdis/linear_algebra/mtl/ITL_Solver.hpp>
+#include <amdis/linear_algebra/mtl/BITL_Solver.hpp>
+
+#elif defined(AMDIS_BACKEND_PETSC)
+
+#include <amdis/linear_algebra/petsc/SystemVector.hpp>
+#include <amdis/linear_algebra/petsc/SystemMatrix.hpp>
+#include <amdis/linear_algebra/petsc/LinearSolver.hpp>
+
+#else
+
+#error "Unknown linear algebra backend!. Set corresponding variable \
+        AMDIS_BACKEND_ISTL, AMDIS_BACKEND_MTL or AMDIS_BACKEND_PETSC."
+
+#endif
\ No newline at end of file
diff --git a/dune/amdis/LocalAssembler.hpp b/src/amdis/LocalAssembler.hpp
similarity index 97%
rename from dune/amdis/LocalAssembler.hpp
rename to src/amdis/LocalAssembler.hpp
index d49095b8283fd0a40f24c145af408f701830c786..424cc4560b42df6a9a4e98f5dc69757fbb0ea4ef 100644
--- a/dune/amdis/LocalAssembler.hpp
+++ b/src/amdis/LocalAssembler.hpp
@@ -6,10 +6,10 @@
 
 #include <dune/geometry/quadraturerules.hh>
 
-#include <dune/amdis/ContextGeometry.hpp>
-#include <dune/amdis/LocalAssemblerBase.hpp>
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/utility/FiniteElementType.hpp>
+#include <amdis/ContextGeometry.hpp>
+#include <amdis/LocalAssemblerBase.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/utility/FiniteElementType.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/LocalAssemblerBase.hpp b/src/amdis/LocalAssemblerBase.hpp
similarity index 96%
rename from dune/amdis/LocalAssemblerBase.hpp
rename to src/amdis/LocalAssemblerBase.hpp
index 925e4fa853c3f4df62e93b46bd69db16e8678f5f..960ccfce46bfc476d72032362fa5665148d84112 100644
--- a/dune/amdis/LocalAssemblerBase.hpp
+++ b/src/amdis/LocalAssemblerBase.hpp
@@ -4,9 +4,9 @@
 #include <memory>
 #include <type_traits>
 
-#include <dune/amdis/common/ConceptsBase.hpp>
-#include <dune/amdis/common/TypeDefs.hpp>
-#include <dune/amdis/utility/TreeData.hpp>
+#include <amdis/common/ConceptsBase.hpp>
+#include <amdis/common/TypeDefs.hpp>
+#include <amdis/utility/TreeData.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/Mesh.hpp b/src/amdis/Mesh.hpp
similarity index 97%
rename from dune/amdis/Mesh.hpp
rename to src/amdis/Mesh.hpp
index 9384f98a91a02385f3b3b455c3c8f37f2e984f7f..f2eae9cb09e79e49493c059f2198fce27880c5f5 100644
--- a/dune/amdis/Mesh.hpp
+++ b/src/amdis/Mesh.hpp
@@ -14,9 +14,9 @@
 #include <dune/grid/albertagrid/albertareader.hh>
 #include <dune/grid/io/file/gmshreader.hh>
 
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/utility/Filesystem.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/utility/Filesystem.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/Operations.hpp b/src/amdis/Operations.hpp
similarity index 56%
rename from dune/amdis/Operations.hpp
rename to src/amdis/Operations.hpp
index d3bfcd155efc7cabfeaedd8fcab1c001ca72e0b5..8c13c630dd265c0f101544e2e2748c7e76ca5b81 100644
--- a/dune/amdis/Operations.hpp
+++ b/src/amdis/Operations.hpp
@@ -10,9 +10,9 @@
   * derivatives w.r.t. the functor arguments.
   **/
 
-#include <dune/amdis/operations/Arithmetic.hpp>
-#include <dune/amdis/operations/Basic.hpp>
-#include <dune/amdis/operations/CMath.hpp>
-#include <dune/amdis/operations/Composer.hpp>
-#include <dune/amdis/operations/FieldMatVec.hpp>
-#include <dune/amdis/operations/MaxMin.hpp>
+#include <amdis/operations/Arithmetic.hpp>
+#include <amdis/operations/Basic.hpp>
+#include <amdis/operations/CMath.hpp>
+#include <amdis/operations/Composer.hpp>
+#include <amdis/operations/FieldMatVec.hpp>
+#include <amdis/operations/MaxMin.hpp>
diff --git a/dune/amdis/Operators.hpp b/src/amdis/Operators.hpp
similarity index 50%
rename from dune/amdis/Operators.hpp
rename to src/amdis/Operators.hpp
index 19f930d2e74a620199e7fe0ef7e055aef5358994..9bfde78d9f97c0338aa836a4eace6961800ac41a 100644
--- a/dune/amdis/Operators.hpp
+++ b/src/amdis/Operators.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
-#include <dune/amdis/LocalAssembler.hpp>
-#include <dune/amdis/GridFunctionOperator.hpp>
+#include <amdis/LocalAssembler.hpp>
+#include <amdis/GridFunctionOperator.hpp>
 
 /*
  * In the following comments we use the notation
@@ -38,25 +38,25 @@
   **/
 
 // zero-order operators
-#include <dune/amdis/assembler/ZeroOrderTest.hpp>             // <psi * c>
-#include <dune/amdis/assembler/ZeroOrderTestTrial.hpp>        // <psi, c * phi>
-#include <dune/amdis/assembler/ZeroOrderTestTrialvec.hpp>     // <psi, b * Phi>
-#include <dune/amdis/assembler/ZeroOrderTestvec.hpp>          // <Psi * b>
-#include <dune/amdis/assembler/ZeroOrderTestvecTrial.hpp>     // <Psi, b * phi>
-#include <dune/amdis/assembler/ZeroOrderTestvecTrialvec.hpp>  // <Psi, A * Phi>, <Psi, c * Phi>
+#include <amdis/assembler/ZeroOrderTest.hpp>             // <psi * c>
+#include <amdis/assembler/ZeroOrderTestTrial.hpp>        // <psi, c * phi>
+#include <amdis/assembler/ZeroOrderTestTrialvec.hpp>     // <psi, b * Phi>
+#include <amdis/assembler/ZeroOrderTestvec.hpp>          // <Psi * b>
+#include <amdis/assembler/ZeroOrderTestvecTrial.hpp>     // <Psi, b * phi>
+#include <amdis/assembler/ZeroOrderTestvecTrialvec.hpp>  // <Psi, A * Phi>, <Psi, c * Phi>
 
 // first-order operators
-#include <dune/amdis/assembler/FirstOrderDivTestvecTrial.hpp>   // <div(Psi), c * phi>
-#include <dune/amdis/assembler/FirstOrderGradTestTrial.hpp>     // <grad(psi), b * phi>
-#include <dune/amdis/assembler/FirstOrderGradTestTrialvec.hpp>  // <grad(psi), c * Phi>
-#include <dune/amdis/assembler/FirstOrderPartialTestTrial.hpp>  // <d_i(psi), c * psi>
-#include <dune/amdis/assembler/FirstOrderTestDivTrialvec.hpp>   // <psi, c * div(Phi)>
-#include <dune/amdis/assembler/FirstOrderTestGradTrial.hpp>     // <psi, b * grad(phi)>
-#include <dune/amdis/assembler/FirstOrderTestPartialTrial.hpp>  // <psi, c * d_i(phi)>
-#include <dune/amdis/assembler/FirstOrderTestvecGradTrial.hpp>  // <Psi, c * grad(phi)>
+#include <amdis/assembler/FirstOrderDivTestvecTrial.hpp>   // <div(Psi), c * phi>
+#include <amdis/assembler/FirstOrderGradTestTrial.hpp>     // <grad(psi), b * phi>
+#include <amdis/assembler/FirstOrderGradTestTrialvec.hpp>  // <grad(psi), c * Phi>
+#include <amdis/assembler/FirstOrderPartialTestTrial.hpp>  // <d_i(psi), c * psi>
+#include <amdis/assembler/FirstOrderTestDivTrialvec.hpp>   // <psi, c * div(Phi)>
+#include <amdis/assembler/FirstOrderTestGradTrial.hpp>     // <psi, b * grad(phi)>
+#include <amdis/assembler/FirstOrderTestPartialTrial.hpp>  // <psi, c * d_i(phi)>
+#include <amdis/assembler/FirstOrderTestvecGradTrial.hpp>  // <Psi, c * grad(phi)>
 
 // second-order operators
-#include <dune/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp>    // <div(Psi), c * div(Phi)>
-#include <dune/amdis/assembler/SecondOrderGradTestGradTrial.hpp>        // <grad(psi), A * grad(phi)>
-#include <dune/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp>  // <d_i(psi), c * d_j(phi)>
+#include <amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp>    // <div(Psi), c * div(Phi)>
+#include <amdis/assembler/SecondOrderGradTestGradTrial.hpp>        // <grad(psi), A * grad(phi)>
+#include <amdis/assembler/SecondOrderPartialTestPartialTrial.hpp>  // <d_i(psi), c * d_j(phi)>
 
diff --git a/dune/amdis/Output.hpp b/src/amdis/Output.hpp
similarity index 100%
rename from dune/amdis/Output.hpp
rename to src/amdis/Output.hpp
diff --git a/dune/amdis/ProblemInstat.cpp b/src/amdis/ProblemInstat.cpp
similarity index 100%
rename from dune/amdis/ProblemInstat.cpp
rename to src/amdis/ProblemInstat.cpp
diff --git a/dune/amdis/ProblemInstat.hpp b/src/amdis/ProblemInstat.hpp
similarity index 94%
rename from dune/amdis/ProblemInstat.hpp
rename to src/amdis/ProblemInstat.hpp
index 2259d250cccf22c0252b213da2c0b19f7767fc55..635a65e61c7a227aa52d3c13e914286379f5d94d 100644
--- a/dune/amdis/ProblemInstat.hpp
+++ b/src/amdis/ProblemInstat.hpp
@@ -2,9 +2,9 @@
 
 #include <string>
 
-#include <dune/amdis/ProblemInstatBase.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/ProblemInstatBase.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/common/Utility.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/ProblemInstat.inc.hpp b/src/amdis/ProblemInstat.inc.hpp
similarity index 97%
rename from dune/amdis/ProblemInstat.inc.hpp
rename to src/amdis/ProblemInstat.inc.hpp
index 3a7b80de8e5666c377fe1272575df2512f3a2e90..f58123eb0632155508b9bc1515fc382f4d186cf4 100644
--- a/dune/amdis/ProblemInstat.inc.hpp
+++ b/src/amdis/ProblemInstat.inc.hpp
@@ -5,7 +5,7 @@
 #include <string>
 #include <vector>
 
-#include <dune/amdis/AdaptInfo.hpp>
+#include <amdis/AdaptInfo.hpp>
 
 namespace AMDiS {
 
diff --git a/dune/amdis/ProblemInstatBase.cpp b/src/amdis/ProblemInstatBase.cpp
similarity index 100%
rename from dune/amdis/ProblemInstatBase.cpp
rename to src/amdis/ProblemInstatBase.cpp
diff --git a/dune/amdis/ProblemInstatBase.hpp b/src/amdis/ProblemInstatBase.hpp
similarity index 100%
rename from dune/amdis/ProblemInstatBase.hpp
rename to src/amdis/ProblemInstatBase.hpp
diff --git a/dune/amdis/ProblemIterationInterface.hpp b/src/amdis/ProblemIterationInterface.hpp
similarity index 100%
rename from dune/amdis/ProblemIterationInterface.hpp
rename to src/amdis/ProblemIterationInterface.hpp
diff --git a/dune/amdis/ProblemStat.cpp b/src/amdis/ProblemStat.cpp
similarity index 100%
rename from dune/amdis/ProblemStat.cpp
rename to src/amdis/ProblemStat.cpp
diff --git a/dune/amdis/ProblemStat.hpp b/src/amdis/ProblemStat.hpp
similarity index 94%
rename from dune/amdis/ProblemStat.hpp
rename to src/amdis/ProblemStat.hpp
index 99b8ed6669da0dec21b93ae8ab823c05b5d91100..408949096aa90bd4aaea6beb2805146803244f53 100644
--- a/dune/amdis/ProblemStat.hpp
+++ b/src/amdis/ProblemStat.hpp
@@ -12,28 +12,28 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/grid/common/grid.hh>
 
-#include <dune/amdis/AdaptInfo.hpp>
-#include <dune/amdis/Assembler.hpp>
-#include <dune/amdis/CreatorInterface.hpp>
-#include <dune/amdis/DirichletBC.hpp>
-#include <dune/amdis/Flag.hpp>
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/LinearAlgebra.hpp>
-#include <dune/amdis/Mesh.hpp>
-#include <dune/amdis/ProblemStatBase.hpp>
-#include <dune/amdis/ProblemStatTraits.hpp>
-#include <dune/amdis/StandardProblemIteration.hpp>
-
-#include <dune/amdis/common/TupleUtility.hpp>
-#include <dune/amdis/common/TypeDefs.hpp>
-#include <dune/amdis/common/Utility.hpp>
-
-#include <dune/amdis/GridFunctions.hpp>
-#include <dune/amdis/gridfunctions/DOFVectorView.hpp>
-
-#include <dune/amdis/io/FileWriterInterface.hpp>
-
-#include <dune/amdis/utility/TreePath.hpp>
+#include <amdis/AdaptInfo.hpp>
+#include <amdis/Assembler.hpp>
+#include <amdis/CreatorInterface.hpp>
+#include <amdis/DirichletBC.hpp>
+#include <amdis/Flag.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/LinearAlgebra.hpp>
+#include <amdis/Mesh.hpp>
+#include <amdis/ProblemStatBase.hpp>
+#include <amdis/ProblemStatTraits.hpp>
+#include <amdis/StandardProblemIteration.hpp>
+
+#include <amdis/common/TupleUtility.hpp>
+#include <amdis/common/TypeDefs.hpp>
+#include <amdis/common/Utility.hpp>
+
+#include <amdis/GridFunctions.hpp>
+#include <amdis/gridfunctions/DOFVectorView.hpp>
+
+#include <amdis/io/FileWriterInterface.hpp>
+
+#include <amdis/utility/TreePath.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/ProblemStat.inc.hpp b/src/amdis/ProblemStat.inc.hpp
similarity index 97%
rename from dune/amdis/ProblemStat.inc.hpp
rename to src/amdis/ProblemStat.inc.hpp
index 4ecc1882bedbd5289426e796eba804ddae20e652..a5d6444bd7f4bec52c7f29fbcd7c94be569dff48 100644
--- a/dune/amdis/ProblemStat.inc.hpp
+++ b/src/amdis/ProblemStat.inc.hpp
@@ -7,12 +7,12 @@
 #include <dune/common/timer.hh>
 #include <dune/typetree/childextraction.hh>
 
-#include <dune/amdis/AdaptInfo.hpp>
-#include <dune/amdis/Assembler.hpp>
-#include <dune/amdis/FileWriter.hpp>
-#include <dune/amdis/LocalAssembler.hpp>
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/Loops.hpp>
+#include <amdis/AdaptInfo.hpp>
+#include <amdis/Assembler.hpp>
+#include <amdis/FileWriter.hpp>
+#include <amdis/LocalAssembler.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/Loops.hpp>
 
 namespace AMDiS {
 
diff --git a/dune/amdis/ProblemStatBase.hpp b/src/amdis/ProblemStatBase.hpp
similarity index 100%
rename from dune/amdis/ProblemStatBase.hpp
rename to src/amdis/ProblemStatBase.hpp
diff --git a/dune/amdis/ProblemStatTraits.hpp b/src/amdis/ProblemStatTraits.hpp
similarity index 100%
rename from dune/amdis/ProblemStatTraits.hpp
rename to src/amdis/ProblemStatTraits.hpp
diff --git a/dune/amdis/ProblemTimeInterface.hpp b/src/amdis/ProblemTimeInterface.hpp
similarity index 100%
rename from dune/amdis/ProblemTimeInterface.hpp
rename to src/amdis/ProblemTimeInterface.hpp
diff --git a/dune/amdis/StandardProblemIteration.cpp b/src/amdis/StandardProblemIteration.cpp
similarity index 95%
rename from dune/amdis/StandardProblemIteration.cpp
rename to src/amdis/StandardProblemIteration.cpp
index 4521aca38e800ba644ea37dd5c494edb9e67a5aa..434e0d19df1d2e660d5035afd4a25388004064bc 100644
--- a/dune/amdis/StandardProblemIteration.cpp
+++ b/src/amdis/StandardProblemIteration.cpp
@@ -1,8 +1,8 @@
 #include "StandardProblemIteration.hpp"
 
-#include <dune/amdis/AdaptInfo.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/ProblemStatBase.hpp>
+#include <amdis/AdaptInfo.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/ProblemStatBase.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/StandardProblemIteration.hpp b/src/amdis/StandardProblemIteration.hpp
similarity index 100%
rename from dune/amdis/StandardProblemIteration.hpp
rename to src/amdis/StandardProblemIteration.hpp
diff --git a/dune/amdis/assembler/CMakeLists.txt b/src/amdis/assembler/CMakeLists.txt
similarity index 90%
rename from dune/amdis/assembler/CMakeLists.txt
rename to src/amdis/assembler/CMakeLists.txt
index 97228e552c4f5226e204de196ca64efef8995fa9..f325175d965601899d7869df9a781bcd78537319 100644
--- a/dune/amdis/assembler/CMakeLists.txt
+++ b/src/amdis/assembler/CMakeLists.txt
@@ -18,4 +18,4 @@ install(FILES
     ZeroOrderTestvec.hpp
     ZeroOrderTestvecTrial.hpp
     ZeroOrderTestvecTrialvec.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/assembler)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/assembler)
diff --git a/dune/amdis/assembler/FirstOrderDivTestvecTrial.hpp b/src/amdis/assembler/FirstOrderDivTestvecTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderDivTestvecTrial.hpp
rename to src/amdis/assembler/FirstOrderDivTestvecTrial.hpp
index 2c6ee7259f499a53535b22e26b9f11d46329d0b8..ecdcc7377f3b5094bd67d5fb738e97cc257029cb 100644
--- a/dune/amdis/assembler/FirstOrderDivTestvecTrial.hpp
+++ b/src/amdis/assembler/FirstOrderDivTestvecTrial.hpp
@@ -2,7 +2,7 @@
 
 #include <type_traits>
 
-#include <dune/amdis/assembler/FirstOrderTestDivTrialvec.hpp>
+#include <amdis/assembler/FirstOrderTestDivTrialvec.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderGradTestTrial.hpp b/src/amdis/assembler/FirstOrderGradTestTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderGradTestTrial.hpp
rename to src/amdis/assembler/FirstOrderGradTestTrial.hpp
index 453e7388e47ffabbdb32cb101b84af9a66c677f5..1ca7e92a1d81e7651ebb98657170df40933e495f 100644
--- a/dune/amdis/assembler/FirstOrderGradTestTrial.hpp
+++ b/src/amdis/assembler/FirstOrderGradTestTrial.hpp
@@ -2,7 +2,7 @@
 
 #include <type_traits>
 
-#include <dune/amdis/assembler/FirstOrderTestGradTrial.hpp>
+#include <amdis/assembler/FirstOrderTestGradTrial.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderGradTestTrialvec.hpp b/src/amdis/assembler/FirstOrderGradTestTrialvec.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderGradTestTrialvec.hpp
rename to src/amdis/assembler/FirstOrderGradTestTrialvec.hpp
index e74f0990ee4222c27203c2650e52bb502518ed77..4d270a11bdbdc14dca7fe3bc8774435ae5228ca4 100644
--- a/dune/amdis/assembler/FirstOrderGradTestTrialvec.hpp
+++ b/src/amdis/assembler/FirstOrderGradTestTrialvec.hpp
@@ -2,7 +2,7 @@
 
 #include <type_traits>
 
-#include <dune/amdis/assembler/FirstOrderTestvecGradTrial.hpp>
+#include <amdis/assembler/FirstOrderTestvecGradTrial.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderPartialTestTrial.hpp b/src/amdis/assembler/FirstOrderPartialTestTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderPartialTestTrial.hpp
rename to src/amdis/assembler/FirstOrderPartialTestTrial.hpp
index 182a70fb732cf3b08a38772c239bf31149580cb5..a37fc0437933a01237f3be7ee5d712965b48e0ae 100644
--- a/dune/amdis/assembler/FirstOrderPartialTestTrial.hpp
+++ b/src/amdis/assembler/FirstOrderPartialTestTrial.hpp
@@ -2,7 +2,7 @@
 
 #include <type_traits>
 
-#include <dune/amdis/assembler/FirstOrderTestPartialTrial.hpp>
+#include <amdis/assembler/FirstOrderTestPartialTrial.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderTestDivTrialvec.hpp b/src/amdis/assembler/FirstOrderTestDivTrialvec.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderTestDivTrialvec.hpp
rename to src/amdis/assembler/FirstOrderTestDivTrialvec.hpp
index 448d4caf91a5604b5626bc3771249db6868eeaa4..d571babf97040af02165c1f6674f6dd1467b64a8 100644
--- a/dune/amdis/assembler/FirstOrderTestDivTrialvec.hpp
+++ b/src/amdis/assembler/FirstOrderTestDivTrialvec.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderTestGradTrial.hpp b/src/amdis/assembler/FirstOrderTestGradTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderTestGradTrial.hpp
rename to src/amdis/assembler/FirstOrderTestGradTrial.hpp
index 08981ff925cc9a62388203a09748d2c346b7f843..a4ae5383cef98820a238a28ea2d6cc659c1ecf5e 100644
--- a/dune/amdis/assembler/FirstOrderTestGradTrial.hpp
+++ b/src/amdis/assembler/FirstOrderTestGradTrial.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderTestPartialTrial.hpp b/src/amdis/assembler/FirstOrderTestPartialTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderTestPartialTrial.hpp
rename to src/amdis/assembler/FirstOrderTestPartialTrial.hpp
index c7ebd529d07def559c23e22b97683b6668bd8488..2d900f5dbb17a585903486e9ca9275a9136c29e8 100644
--- a/dune/amdis/assembler/FirstOrderTestPartialTrial.hpp
+++ b/src/amdis/assembler/FirstOrderTestPartialTrial.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/FirstOrderTestvecGradTrial.hpp b/src/amdis/assembler/FirstOrderTestvecGradTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/FirstOrderTestvecGradTrial.hpp
rename to src/amdis/assembler/FirstOrderTestvecGradTrial.hpp
index 674d59a6b81ff395cb1181fffededf8b7d6b20db..2bfd6d52d1bbda560b094803ea272d6325dd4de4 100644
--- a/dune/amdis/assembler/FirstOrderTestvecGradTrial.hpp
+++ b/src/amdis/assembler/FirstOrderTestvecGradTrial.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp b/src/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp
similarity index 98%
rename from dune/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp
rename to src/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp
index 19f54ff62222ca8ecc6f8da24508ad2b60a38d17..6a4a62726ae5190576326379eabe0b658732ace1 100644
--- a/dune/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp
+++ b/src/amdis/assembler/SecondOrderDivTestvecDivTrialvec.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/SecondOrderGradTestGradTrial.hpp b/src/amdis/assembler/SecondOrderGradTestGradTrial.hpp
similarity index 98%
rename from dune/amdis/assembler/SecondOrderGradTestGradTrial.hpp
rename to src/amdis/assembler/SecondOrderGradTestGradTrial.hpp
index 65c07e4bd45f100c3fda13d2051857c1f2988bdc..e2f955d19ad4d01d3b5f0630882117e12d11e1ed 100644
--- a/dune/amdis/assembler/SecondOrderGradTestGradTrial.hpp
+++ b/src/amdis/assembler/SecondOrderGradTestGradTrial.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp b/src/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp
similarity index 97%
rename from dune/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp
rename to src/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp
index bfb522e73eb1a1ad0d023d98421d0224e2d9460e..f5c548add90cd01e37592c8e94de651665caa58b 100644
--- a/dune/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp
+++ b/src/amdis/assembler/SecondOrderPartialTestPartialTrial.hpp
@@ -2,9 +2,9 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/StokesOperator.hpp b/src/amdis/assembler/StokesOperator.hpp
similarity index 97%
rename from dune/amdis/assembler/StokesOperator.hpp
rename to src/amdis/assembler/StokesOperator.hpp
index 43e01279f651928860243c2f683bc19af52923a2..46c191a66bfd1d42c3d558a71695fe714781cde0 100644
--- a/dune/amdis/assembler/StokesOperator.hpp
+++ b/src/amdis/assembler/StokesOperator.hpp
@@ -3,8 +3,8 @@
 #include <type_traits>
 #include <vector>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/ZeroOrderTest.hpp b/src/amdis/assembler/ZeroOrderTest.hpp
similarity index 95%
rename from dune/amdis/assembler/ZeroOrderTest.hpp
rename to src/amdis/assembler/ZeroOrderTest.hpp
index 416e9182aaaad0afe44b75aac291f762ef13868f..fd6f6786d6379430cff6b018b3df8d758c6c2588 100644
--- a/dune/amdis/assembler/ZeroOrderTest.hpp
+++ b/src/amdis/assembler/ZeroOrderTest.hpp
@@ -2,8 +2,8 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/ZeroOrderTestTrial.hpp b/src/amdis/assembler/ZeroOrderTestTrial.hpp
similarity index 97%
rename from dune/amdis/assembler/ZeroOrderTestTrial.hpp
rename to src/amdis/assembler/ZeroOrderTestTrial.hpp
index 7cc42bb173a41e2a699d1979ecf1a376ca1a2790..d7df01aacf32518142e2c33126a8a22f17d46bb4 100644
--- a/dune/amdis/assembler/ZeroOrderTestTrial.hpp
+++ b/src/amdis/assembler/ZeroOrderTestTrial.hpp
@@ -2,8 +2,8 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/ZeroOrderTestTrialvec.hpp b/src/amdis/assembler/ZeroOrderTestTrialvec.hpp
similarity index 97%
rename from dune/amdis/assembler/ZeroOrderTestTrialvec.hpp
rename to src/amdis/assembler/ZeroOrderTestTrialvec.hpp
index d3481ef36888b6b7b635a07d72335eb99e27459a..fbe2f3575f1ff39d7e940c500ca12b5fc22098cb 100644
--- a/dune/amdis/assembler/ZeroOrderTestTrialvec.hpp
+++ b/src/amdis/assembler/ZeroOrderTestTrialvec.hpp
@@ -2,8 +2,8 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/ZeroOrderTestvec.hpp b/src/amdis/assembler/ZeroOrderTestvec.hpp
similarity index 95%
rename from dune/amdis/assembler/ZeroOrderTestvec.hpp
rename to src/amdis/assembler/ZeroOrderTestvec.hpp
index 8e9333ea8d96999634213481edb99f89495970e6..49a5d40a90568993957cc2de0a16aa413178d96a 100644
--- a/dune/amdis/assembler/ZeroOrderTestvec.hpp
+++ b/src/amdis/assembler/ZeroOrderTestvec.hpp
@@ -2,8 +2,8 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/ZeroOrderTestvecTrial.hpp b/src/amdis/assembler/ZeroOrderTestvecTrial.hpp
similarity index 96%
rename from dune/amdis/assembler/ZeroOrderTestvecTrial.hpp
rename to src/amdis/assembler/ZeroOrderTestvecTrial.hpp
index 3081f7fc5c9aabda57d181cb26103276049d24ff..d6083d1ae911f0751411b9b10e7f7b8c4012dd46 100644
--- a/dune/amdis/assembler/ZeroOrderTestvecTrial.hpp
+++ b/src/amdis/assembler/ZeroOrderTestvecTrial.hpp
@@ -2,7 +2,7 @@
 
 #include <type_traits>
 
-#include <dune/amdis/assembler/ZeroOrderTestTrialvec.hpp>
+#include <amdis/assembler/ZeroOrderTestTrialvec.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/assembler/ZeroOrderTestvecTrialvec.hpp b/src/amdis/assembler/ZeroOrderTestvecTrialvec.hpp
similarity index 98%
rename from dune/amdis/assembler/ZeroOrderTestvecTrialvec.hpp
rename to src/amdis/assembler/ZeroOrderTestvecTrialvec.hpp
index a56500a478990cff1e99fe7eb60c9fe064c98910..77a478e8685d749c9e69a451988fc83b585c0732 100644
--- a/dune/amdis/assembler/ZeroOrderTestvecTrialvec.hpp
+++ b/src/amdis/assembler/ZeroOrderTestvecTrialvec.hpp
@@ -2,8 +2,8 @@
 
 #include <type_traits>
 
-#include <dune/amdis/GridFunctionOperator.hpp>
-#include <dune/amdis/common/ValueCategory.hpp>
+#include <amdis/GridFunctionOperator.hpp>
+#include <amdis/common/ValueCategory.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/Assigner.hpp b/src/amdis/common/Assigner.hpp
similarity index 100%
rename from dune/amdis/common/Assigner.hpp
rename to src/amdis/common/Assigner.hpp
diff --git a/dune/amdis/common/CMakeLists.txt b/src/amdis/common/CMakeLists.txt
similarity index 84%
rename from dune/amdis/common/CMakeLists.txt
rename to src/amdis/common/CMakeLists.txt
index 6c97462b8b72508ef8df20362167ce1e290c3b6a..51f685676ad351a9521f760258c46f9c85dd5dd5 100644
--- a/dune/amdis/common/CMakeLists.txt
+++ b/src/amdis/common/CMakeLists.txt
@@ -18,4 +18,4 @@ install(FILES
     TypeDefs.hpp
     Utility.hpp
     ValueCategory.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/common)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/common)
diff --git a/dune/amdis/common/ClonablePtr.hpp b/src/amdis/common/ClonablePtr.hpp
similarity index 98%
rename from dune/amdis/common/ClonablePtr.hpp
rename to src/amdis/common/ClonablePtr.hpp
index 98fd6c684e546120d00912a335e792507090b012..2dcd9c35daf3f95ee9e49dc3caaba49c46b97f14 100644
--- a/dune/amdis/common/ClonablePtr.hpp
+++ b/src/amdis/common/ClonablePtr.hpp
@@ -3,7 +3,7 @@
 #include <memory>
 #include <utility>
 
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/common/Utility.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/Concepts.hpp b/src/amdis/common/Concepts.hpp
similarity index 97%
rename from dune/amdis/common/Concepts.hpp
rename to src/amdis/common/Concepts.hpp
index 846d2805fa45657213b4a6ed3eec7ea0fa4ae766..a04721a01c4e27d8374b766012cab4a7f9c9d317 100644
--- a/dune/amdis/common/Concepts.hpp
+++ b/src/amdis/common/Concepts.hpp
@@ -4,9 +4,9 @@
 
 #include <dune/functions/common/functionconcepts.hh>
 
-#include <dune/amdis/common/ConceptsBase.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/common/ConceptsBase.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/common/Utility.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/ConceptsBase.hpp b/src/amdis/common/ConceptsBase.hpp
similarity index 100%
rename from dune/amdis/common/ConceptsBase.hpp
rename to src/amdis/common/ConceptsBase.hpp
diff --git a/dune/amdis/common/FieldMatVec.hpp b/src/amdis/common/FieldMatVec.hpp
similarity index 98%
rename from dune/amdis/common/FieldMatVec.hpp
rename to src/amdis/common/FieldMatVec.hpp
index fff29c748182dfa4832cfb7fbd2ea11cefb690a1..90baf9d082ded9362f1721dd0ab44e044093348e 100644
--- a/dune/amdis/common/FieldMatVec.hpp
+++ b/src/amdis/common/FieldMatVec.hpp
@@ -6,11 +6,11 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/common/fvector.hh>
 
-#include <dune/amdis/common/Math.hpp>
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/ScalarTypes.hpp>
-#include <dune/amdis/operations/Arithmetic.hpp>
-#include <dune/amdis/operations/MaxMin.hpp>
+#include <amdis/common/Math.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/ScalarTypes.hpp>
+#include <amdis/operations/Arithmetic.hpp>
+#include <amdis/operations/MaxMin.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/FieldTraits.hpp b/src/amdis/common/FieldTraits.hpp
similarity index 88%
rename from dune/amdis/common/FieldTraits.hpp
rename to src/amdis/common/FieldTraits.hpp
index bd16c80e92568b0ceeeeb4bf49405096a06eb759..226fd9b945c120edcd1f46981460204b234a5a82 100644
--- a/dune/amdis/common/FieldTraits.hpp
+++ b/src/amdis/common/FieldTraits.hpp
@@ -2,7 +2,7 @@
 
 #include <dune/common/ftraits.hh>
 
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/common/Utility.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/IndexSeq.hpp b/src/amdis/common/IndexSeq.hpp
similarity index 100%
rename from dune/amdis/common/IndexSeq.hpp
rename to src/amdis/common/IndexSeq.hpp
diff --git a/dune/amdis/common/Literals.hpp b/src/amdis/common/Literals.hpp
similarity index 96%
rename from dune/amdis/common/Literals.hpp
rename to src/amdis/common/Literals.hpp
index a328f6b22dc7730bbb465c8d7868875c51eb4a61..7ea68ad4a27b73522397686536ff87ae0424183d 100644
--- a/dune/amdis/common/Literals.hpp
+++ b/src/amdis/common/Literals.hpp
@@ -2,7 +2,7 @@
 
 #include <cassert>
 
-#include <dune/amdis/common/Mpl.hpp>
+#include <amdis/common/Mpl.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/Loops.hpp b/src/amdis/common/Loops.hpp
similarity index 100%
rename from dune/amdis/common/Loops.hpp
rename to src/amdis/common/Loops.hpp
diff --git a/dune/amdis/common/Math.hpp b/src/amdis/common/Math.hpp
similarity index 100%
rename from dune/amdis/common/Math.hpp
rename to src/amdis/common/Math.hpp
diff --git a/dune/amdis/common/Mpl.hpp b/src/amdis/common/Mpl.hpp
similarity index 100%
rename from dune/amdis/common/Mpl.hpp
rename to src/amdis/common/Mpl.hpp
diff --git a/dune/amdis/common/MultiTypeMatrix.hpp b/src/amdis/common/MultiTypeMatrix.hpp
similarity index 92%
rename from dune/amdis/common/MultiTypeMatrix.hpp
rename to src/amdis/common/MultiTypeMatrix.hpp
index ea8d5ecef9a628fcc82d90ebee51d2f02b8785cb..f1c7b87c8b59ca9f606271cacfba44769df0c716 100644
--- a/dune/amdis/common/MultiTypeMatrix.hpp
+++ b/src/amdis/common/MultiTypeMatrix.hpp
@@ -2,13 +2,13 @@
 
 #include <tuple>
 
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/FieldTraits.hpp>
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/common/MultiTypeVector.hpp>
-#include <dune/amdis/common/Size.hpp>
-#include <dune/amdis/utility/MultiIndex.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/FieldTraits.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/common/MultiTypeVector.hpp>
+#include <amdis/common/Size.hpp>
+#include <amdis/utility/MultiIndex.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/MultiTypeVector.hpp b/src/amdis/common/MultiTypeVector.hpp
similarity index 94%
rename from dune/amdis/common/MultiTypeVector.hpp
rename to src/amdis/common/MultiTypeVector.hpp
index 34c754859c392e63ab1ec22f2e2c5385a0c37f1d..d2f89d548638acb04031815dd935abb9318d1bad 100644
--- a/dune/amdis/common/MultiTypeVector.hpp
+++ b/src/amdis/common/MultiTypeVector.hpp
@@ -4,11 +4,11 @@
 
 #include <dune/functions/common/indexaccess.hh>
 
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/FieldTraits.hpp>
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/common/Size.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/FieldTraits.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/common/Size.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/ScalarTypes.hpp b/src/amdis/common/ScalarTypes.hpp
similarity index 100%
rename from dune/amdis/common/ScalarTypes.hpp
rename to src/amdis/common/ScalarTypes.hpp
diff --git a/dune/amdis/common/Size.hpp b/src/amdis/common/Size.hpp
similarity index 100%
rename from dune/amdis/common/Size.hpp
rename to src/amdis/common/Size.hpp
diff --git a/dune/amdis/common/Tags.hpp b/src/amdis/common/Tags.hpp
similarity index 100%
rename from dune/amdis/common/Tags.hpp
rename to src/amdis/common/Tags.hpp
diff --git a/dune/amdis/common/TupleUtility.hpp b/src/amdis/common/TupleUtility.hpp
similarity index 98%
rename from dune/amdis/common/TupleUtility.hpp
rename to src/amdis/common/TupleUtility.hpp
index b03213f890b7392d333598cff6fd7da1092dce39..dcd8ba4b9b02fa78bcd260fd4c8607dea798be97 100644
--- a/dune/amdis/common/TupleUtility.hpp
+++ b/src/amdis/common/TupleUtility.hpp
@@ -3,8 +3,8 @@
 #include <tuple>
 #include <type_traits>
 
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/Utility.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/TypeDefs.hpp b/src/amdis/common/TypeDefs.hpp
similarity index 89%
rename from dune/amdis/common/TypeDefs.hpp
rename to src/amdis/common/TypeDefs.hpp
index 1bafb5a11a3061249762a9ab054c1c1afee02763..735d9cb6a50b7022c0ef0b414b8ed850a5f194ba 100644
--- a/dune/amdis/common/TypeDefs.hpp
+++ b/src/amdis/common/TypeDefs.hpp
@@ -2,7 +2,7 @@
 
 #include <type_traits>
 
-#include <dune/amdis/linear_algebra/Mtl.hpp>
+#include <amdis/linear_algebra/Mtl.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/common/Utility.hpp b/src/amdis/common/Utility.hpp
similarity index 100%
rename from dune/amdis/common/Utility.hpp
rename to src/amdis/common/Utility.hpp
diff --git a/dune/amdis/common/ValueCategory.hpp b/src/amdis/common/ValueCategory.hpp
similarity index 97%
rename from dune/amdis/common/ValueCategory.hpp
rename to src/amdis/common/ValueCategory.hpp
index a8e378ef9a187b0160a503360484f0fad7e1a981..3c1b61c3fafce2672954b42680452314067328e3 100644
--- a/dune/amdis/common/ValueCategory.hpp
+++ b/src/amdis/common/ValueCategory.hpp
@@ -6,7 +6,7 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/common/fvector.hh>
 
-#include <dune/amdis/common/Tags.hpp>
+#include <amdis/common/Tags.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/AnalyticGridFunction.hpp b/src/amdis/gridfunctions/AnalyticGridFunction.hpp
similarity index 98%
rename from dune/amdis/gridfunctions/AnalyticGridFunction.hpp
rename to src/amdis/gridfunctions/AnalyticGridFunction.hpp
index e339b33024bb68a20fc5ffbadf2500cec8bf2854..d2e78231a36c024a7ac38ea00e90b7e854ed814d 100644
--- a/dune/amdis/gridfunctions/AnalyticGridFunction.hpp
+++ b/src/amdis/gridfunctions/AnalyticGridFunction.hpp
@@ -6,8 +6,8 @@
 #include <dune/functions/common/signature.hh>
 #include <dune/functions/gridfunctions/gridviewentityset.hh>
 
-#include <dune/amdis/Operations.hpp>
-#include <dune/amdis/gridfunctions/GridFunctionConcepts.hpp>
+#include <amdis/Operations.hpp>
+#include <amdis/gridfunctions/GridFunctionConcepts.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/CMakeLists.txt b/src/amdis/gridfunctions/CMakeLists.txt
similarity index 82%
rename from dune/amdis/gridfunctions/CMakeLists.txt
rename to src/amdis/gridfunctions/CMakeLists.txt
index 51955a7961165e0f35f8a89f70326aa83c3b2a59..a2b00db043f10c3680ffcfbb29aeb8a69fc6e4c7 100644
--- a/dune/amdis/gridfunctions/CMakeLists.txt
+++ b/src/amdis/gridfunctions/CMakeLists.txt
@@ -11,4 +11,4 @@ install(FILES
     GridFunctionConcepts.hpp
     Integrate.hpp
     OperationsGridFunction.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/gridfunctions)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/gridfunctions)
diff --git a/dune/amdis/gridfunctions/ConstantGridFunction.hpp b/src/amdis/gridfunctions/ConstantGridFunction.hpp
similarity index 96%
rename from dune/amdis/gridfunctions/ConstantGridFunction.hpp
rename to src/amdis/gridfunctions/ConstantGridFunction.hpp
index c5899e1bfeeefc7d6529d00c2fe66ab6abbced32..6e7539f44d7acad1215e9cad05ed256e118b5bc3 100644
--- a/dune/amdis/gridfunctions/ConstantGridFunction.hpp
+++ b/src/amdis/gridfunctions/ConstantGridFunction.hpp
@@ -8,9 +8,9 @@
 #include <dune/common/fvector.hh>
 #include <dune/functions/common/defaultderivativetraits.hh>
 
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/gridfunctions/AnalyticGridFunction.hpp>
-#include <dune/amdis/gridfunctions/GridFunctionConcepts.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/gridfunctions/AnalyticGridFunction.hpp>
+#include <amdis/gridfunctions/GridFunctionConcepts.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/CoordsGridFunction.hpp b/src/amdis/gridfunctions/CoordsGridFunction.hpp
similarity index 100%
rename from dune/amdis/gridfunctions/CoordsGridFunction.hpp
rename to src/amdis/gridfunctions/CoordsGridFunction.hpp
diff --git a/dune/amdis/gridfunctions/DOFVectorView.hpp b/src/amdis/gridfunctions/DOFVectorView.hpp
similarity index 99%
rename from dune/amdis/gridfunctions/DOFVectorView.hpp
rename to src/amdis/gridfunctions/DOFVectorView.hpp
index 411a192a4d7ae43344e24f1090957ecce7186779..f0a5f9376131a55dc31ed1eae9f937674ab706b4 100644
--- a/dune/amdis/gridfunctions/DOFVectorView.hpp
+++ b/src/amdis/gridfunctions/DOFVectorView.hpp
@@ -10,8 +10,8 @@
 #include <dune/functions/gridfunctions/gridviewentityset.hh>
 #include <dune/typetree/childextraction.hh>
 
-#include <dune/amdis/GridFunctions.hpp>
-#include <dune/amdis/utility/FiniteElementType.hpp>
+#include <amdis/GridFunctions.hpp>
+#include <amdis/utility/FiniteElementType.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/DOFVectorView.inc.hpp b/src/amdis/gridfunctions/DOFVectorView.inc.hpp
similarity index 99%
rename from dune/amdis/gridfunctions/DOFVectorView.inc.hpp
rename to src/amdis/gridfunctions/DOFVectorView.inc.hpp
index f9852c954631c4e993f7d6314b875a22f3414521..1ce56ad61f7d4b7734ff60e91e5a55fcc3f61c8c 100644
--- a/dune/amdis/gridfunctions/DOFVectorView.inc.hpp
+++ b/src/amdis/gridfunctions/DOFVectorView.inc.hpp
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <dune/amdis/common/FieldMatVec.hpp>
+#include <amdis/common/FieldMatVec.hpp>
 
 namespace AMDiS {
 
diff --git a/dune/amdis/gridfunctions/DerivativeGridFunction.hpp b/src/amdis/gridfunctions/DerivativeGridFunction.hpp
similarity index 98%
rename from dune/amdis/gridfunctions/DerivativeGridFunction.hpp
rename to src/amdis/gridfunctions/DerivativeGridFunction.hpp
index 4cd026a85916bd722fac177892ede87b67e8ecae..bdfc164d8fbc000ee9de62087a7237cc258e87a9 100644
--- a/dune/amdis/gridfunctions/DerivativeGridFunction.hpp
+++ b/src/amdis/gridfunctions/DerivativeGridFunction.hpp
@@ -4,7 +4,7 @@
 
 #include <dune/functions/common/defaultderivativetraits.hh>
 
-#include <dune/amdis/gridfunctions/GridFunctionConcepts.hpp>
+#include <amdis/gridfunctions/GridFunctionConcepts.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/FunctorGridFunction.hpp b/src/amdis/gridfunctions/FunctorGridFunction.hpp
similarity index 97%
rename from dune/amdis/gridfunctions/FunctorGridFunction.hpp
rename to src/amdis/gridfunctions/FunctorGridFunction.hpp
index 1d59930c47cdedbacd6777f87884fa71d001b9c8..5ccbd54b8a10abcb22ba529b15914f69db4d7813 100644
--- a/dune/amdis/gridfunctions/FunctorGridFunction.hpp
+++ b/src/amdis/gridfunctions/FunctorGridFunction.hpp
@@ -5,11 +5,11 @@
 
 #include <dune/common/std/apply.hh>
 
-#include <dune/amdis/Operations.hpp>
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/gridfunctions/GridFunctionConcepts.hpp>
+#include <amdis/Operations.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/gridfunctions/GridFunctionConcepts.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/GridFunctionConcepts.hpp b/src/amdis/gridfunctions/GridFunctionConcepts.hpp
similarity index 97%
rename from dune/amdis/gridfunctions/GridFunctionConcepts.hpp
rename to src/amdis/gridfunctions/GridFunctionConcepts.hpp
index 2cd6ea5ff794e8e0bdda3c3ffe977a6aedf072b7..2148b276e87424a378f3dc5e61ce723a37044305 100644
--- a/dune/amdis/gridfunctions/GridFunctionConcepts.hpp
+++ b/src/amdis/gridfunctions/GridFunctionConcepts.hpp
@@ -2,9 +2,9 @@
 
 #include <dune/common/typeutilities.hh>
 
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/Mpl.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/Mpl.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/Integrate.hpp b/src/amdis/gridfunctions/Integrate.hpp
similarity index 98%
rename from dune/amdis/gridfunctions/Integrate.hpp
rename to src/amdis/gridfunctions/Integrate.hpp
index f3dc892fd27bfb65dfe3159e779fff5528554689..61c53c63ed091663dd7f6dc2cc684f9919d2599f 100644
--- a/dune/amdis/gridfunctions/Integrate.hpp
+++ b/src/amdis/gridfunctions/Integrate.hpp
@@ -2,7 +2,7 @@
 
 #include <dune/geometry/quadraturerules.hh>
 
-#include <dune/amdis/GridFunctions.hpp>
+#include <amdis/GridFunctions.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/gridfunctions/OperationsGridFunction.hpp b/src/amdis/gridfunctions/OperationsGridFunction.hpp
similarity index 97%
rename from dune/amdis/gridfunctions/OperationsGridFunction.hpp
rename to src/amdis/gridfunctions/OperationsGridFunction.hpp
index 2df50b3f428323efffe5864db88fa2ffa26d7fe6..3e578d40c83d5bb8c80852de3605ad3ece00d508 100644
--- a/dune/amdis/gridfunctions/OperationsGridFunction.hpp
+++ b/src/amdis/gridfunctions/OperationsGridFunction.hpp
@@ -1,9 +1,9 @@
 #pragma once
 
-#include <dune/amdis/Operations.hpp>
-#include <dune/amdis/gridfunctions/FunctorGridFunction.hpp>
-#include <dune/amdis/operations/Arithmetic.hpp>
-#include <dune/amdis/operations/FieldMatVec.hpp>
+#include <amdis/Operations.hpp>
+#include <amdis/gridfunctions/FunctorGridFunction.hpp>
+#include <amdis/operations/Arithmetic.hpp>
+#include <amdis/operations/FieldMatVec.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/io/CMakeLists.txt b/src/amdis/io/CMakeLists.txt
similarity index 52%
rename from dune/amdis/io/CMakeLists.txt
rename to src/amdis/io/CMakeLists.txt
index 2f050333cbbe94f837fa94021c2f673cba323864..be7489416ec538ca476e00c69d360559f54d24e2 100644
--- a/dune/amdis/io/CMakeLists.txt
+++ b/src/amdis/io/CMakeLists.txt
@@ -2,4 +2,4 @@
 
 install(FILES
     FileWriterInterface.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/io)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/io)
diff --git a/dune/amdis/io/FileWriterInterface.hpp b/src/amdis/io/FileWriterInterface.hpp
similarity index 89%
rename from dune/amdis/io/FileWriterInterface.hpp
rename to src/amdis/io/FileWriterInterface.hpp
index 3601272c9b291215a1150c702e173642e9923af7..4884e43a0f1ca504f2279e2f8684941fd3ebbdb2 100644
--- a/dune/amdis/io/FileWriterInterface.hpp
+++ b/src/amdis/io/FileWriterInterface.hpp
@@ -2,9 +2,9 @@
 
 #include <string>
 
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/utility/Filesystem.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/utility/Filesystem.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/CMakeLists.txt b/src/amdis/linear_algebra/CMakeLists.txt
similarity index 76%
rename from dune/amdis/linear_algebra/CMakeLists.txt
rename to src/amdis/linear_algebra/CMakeLists.txt
index 7d878c8b345d238814aec8f3f7afe4ff91f39348..1c2985d378962c3a0b08419a856771aa829ffc4b 100644
--- a/dune/amdis/linear_algebra/CMakeLists.txt
+++ b/src/amdis/linear_algebra/CMakeLists.txt
@@ -7,6 +7,6 @@ install(FILES
     PreconditionerInterface.hpp
     RunnerInterface.hpp
     SolverInfo.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/linear_algebra)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/linear_algebra)
 
 add_subdirectory("mtl")
diff --git a/dune/amdis/linear_algebra/DOFVectorBase.hpp b/src/amdis/linear_algebra/DOFVectorBase.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/DOFVectorBase.hpp
rename to src/amdis/linear_algebra/DOFVectorBase.hpp
diff --git a/dune/amdis/linear_algebra/HierarchicWrapper.hpp b/src/amdis/linear_algebra/HierarchicWrapper.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/HierarchicWrapper.hpp
rename to src/amdis/linear_algebra/HierarchicWrapper.hpp
index f46a9db4f344690e1359d0cd91824b4ec10ed0ca..858231db04615924adf1fda5bdd7041467060d9c 100644
--- a/dune/amdis/linear_algebra/HierarchicWrapper.hpp
+++ b/src/amdis/linear_algebra/HierarchicWrapper.hpp
@@ -2,7 +2,7 @@
 
 #include <dune/functions/functionspacebases/sizeinfo.hh>
 
-#include <dune/amdis/utility/MultiIndex.hpp>
+#include <amdis/utility/MultiIndex.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/LinearAlgebraBase.hpp b/src/amdis/linear_algebra/LinearAlgebraBase.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/LinearAlgebraBase.hpp
rename to src/amdis/linear_algebra/LinearAlgebraBase.hpp
diff --git a/dune/amdis/linear_algebra/LinearSolverInterface.hpp b/src/amdis/linear_algebra/LinearSolverInterface.hpp
similarity index 85%
rename from dune/amdis/linear_algebra/LinearSolverInterface.hpp
rename to src/amdis/linear_algebra/LinearSolverInterface.hpp
index 04b92f14eb5d40e034f95673ff7466a5d3795822..f308e1d2c5200cae184a45a85348cfb2e00c7254 100644
--- a/dune/amdis/linear_algebra/LinearSolverInterface.hpp
+++ b/src/amdis/linear_algebra/LinearSolverInterface.hpp
@@ -11,12 +11,12 @@
  * systems.
  */
 
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/linear_algebra/LinearAlgebraBase.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/linear_algebra/LinearAlgebraBase.hpp>
 
-#include <dune/amdis/linear_algebra/PreconditionerInterface.hpp>
-#include <dune/amdis/linear_algebra/RunnerInterface.hpp>
-#include <dune/amdis/linear_algebra/SolverInfo.hpp>
+#include <amdis/linear_algebra/PreconditionerInterface.hpp>
+#include <amdis/linear_algebra/RunnerInterface.hpp>
+#include <amdis/linear_algebra/SolverInfo.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/Mtl.hpp b/src/amdis/linear_algebra/Mtl.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/Mtl.hpp
rename to src/amdis/linear_algebra/Mtl.hpp
diff --git a/dune/amdis/linear_algebra/PreconditionerInterface.hpp b/src/amdis/linear_algebra/PreconditionerInterface.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/PreconditionerInterface.hpp
rename to src/amdis/linear_algebra/PreconditionerInterface.hpp
diff --git a/dune/amdis/linear_algebra/RunnerInterface.hpp b/src/amdis/linear_algebra/RunnerInterface.hpp
similarity index 92%
rename from dune/amdis/linear_algebra/RunnerInterface.hpp
rename to src/amdis/linear_algebra/RunnerInterface.hpp
index c85a3577a82e9ddd5a9940706761384441a734d6..0c81227ce650ab7b3a18929dc7c0e9480bc5aa89 100644
--- a/dune/amdis/linear_algebra/RunnerInterface.hpp
+++ b/src/amdis/linear_algebra/RunnerInterface.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/linear_algebra/SolverInfo.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/linear_algebra/SolverInfo.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/SolverInfo.hpp b/src/amdis/linear_algebra/SolverInfo.hpp
similarity index 99%
rename from dune/amdis/linear_algebra/SolverInfo.hpp
rename to src/amdis/linear_algebra/SolverInfo.hpp
index f85b30e5d83339ee62a9f00a34b35d6b7b36b5c3..36be43d0284fe1158666db81c4d9ec44b7b26f42 100644
--- a/dune/amdis/linear_algebra/SolverInfo.hpp
+++ b/src/amdis/linear_algebra/SolverInfo.hpp
@@ -2,7 +2,7 @@
 
 #include <string>
 
-#include <dune/amdis/Initfile.hpp>
+#include <amdis/Initfile.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/istl/CMakeLists.txt b/src/amdis/linear_algebra/istl/CMakeLists.txt
similarity index 81%
rename from dune/amdis/linear_algebra/istl/CMakeLists.txt
rename to src/amdis/linear_algebra/istl/CMakeLists.txt
index 3213d6b309e5cd2379ea3bf408e6285f9d485ba1..cd5ee97f5f7fbaf3fa22c39f74a54b6eeb33f9ce 100644
--- a/dune/amdis/linear_algebra/istl/CMakeLists.txt
+++ b/src/amdis/linear_algebra/istl/CMakeLists.txt
@@ -14,4 +14,4 @@ install(FILES
     SystemMatrix.hpp
     SystemVector.hpp
     UmfpackRunner.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/linear_algebra/istl)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/linear_algebra/istl)
diff --git a/dune/amdis/linear_algebra/istl/DOFMatrix.hpp b/src/amdis/linear_algebra/istl/DOFMatrix.hpp
similarity index 98%
rename from dune/amdis/linear_algebra/istl/DOFMatrix.hpp
rename to src/amdis/linear_algebra/istl/DOFMatrix.hpp
index 482a8e4ff9363a74d396cc398b02740e7531d69e..808af385a1588af5a328fbfc1c2523f717232671 100644
--- a/dune/amdis/linear_algebra/istl/DOFMatrix.hpp
+++ b/src/amdis/linear_algebra/istl/DOFMatrix.hpp
@@ -6,8 +6,8 @@
 #include <dune/istl/bcrsmatrix.hh>
 #include <dune/istl/matrixindexset.hh>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ClonablePtr.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ClonablePtr.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/istl/DOFVector.hpp b/src/amdis/linear_algebra/istl/DOFVector.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/istl/DOFVector.hpp
rename to src/amdis/linear_algebra/istl/DOFVector.hpp
index 5c0f1e2ac2d9198c75d808b86a3f2553e0980263..77fa9d66c4cae779646ccf1a69a5638b19abbff4 100644
--- a/dune/amdis/linear_algebra/istl/DOFVector.hpp
+++ b/src/amdis/linear_algebra/istl/DOFVector.hpp
@@ -7,8 +7,8 @@
 
 #include <dune/functions/functionspacebases/interpolate.hh>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ClonablePtr.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ClonablePtr.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/istl/ISTLRunner.hpp b/src/amdis/linear_algebra/istl/ISTLRunner.hpp
similarity index 95%
rename from dune/amdis/linear_algebra/istl/ISTLRunner.hpp
rename to src/amdis/linear_algebra/istl/ISTLRunner.hpp
index 28f8e940b910c6466f269a7698ff2e6d8f3800e3..46d7790fed6db10f62cb510ea65b0e24f200e266 100644
--- a/dune/amdis/linear_algebra/istl/ISTLRunner.hpp
+++ b/src/amdis/linear_algebra/istl/ISTLRunner.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
-#include <dune/amdis/linear_algebra/istl/ISTL_Solver.hpp>
-#include <dune/amdis/linear_algebra/istl/Preconditioner.hpp>
+#include <amdis/linear_algebra/istl/ISTL_Solver.hpp>
+#include <amdis/linear_algebra/istl/Preconditioner.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/istl/ISTL_Preconditioner.hpp b/src/amdis/linear_algebra/istl/ISTL_Preconditioner.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/istl/ISTL_Preconditioner.hpp
rename to src/amdis/linear_algebra/istl/ISTL_Preconditioner.hpp
diff --git a/dune/amdis/linear_algebra/istl/ISTL_Solver.hpp b/src/amdis/linear_algebra/istl/ISTL_Solver.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/istl/ISTL_Solver.hpp
rename to src/amdis/linear_algebra/istl/ISTL_Solver.hpp
diff --git a/dune/amdis/linear_algebra/istl/LinearSolver.hpp b/src/amdis/linear_algebra/istl/LinearSolver.hpp
similarity index 94%
rename from dune/amdis/linear_algebra/istl/LinearSolver.hpp
rename to src/amdis/linear_algebra/istl/LinearSolver.hpp
index 9f266d483638d4931dc4f54e0aa0fc7c68d0fc62..7799eaa29ae2c1d1407bf049d3f2d6d7f87043c8 100644
--- a/dune/amdis/linear_algebra/istl/LinearSolver.hpp
+++ b/src/amdis/linear_algebra/istl/LinearSolver.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
-#include <dune/amdis/linear_algebra/LinearSolverInterface.hpp>
-#include <dune/amdis/linear_algebra/istl/ISTLRunner.hpp>
+#include <amdis/linear_algebra/LinearSolverInterface.hpp>
+#include <amdis/linear_algebra/istl/ISTLRunner.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/istl/Preconditioner.hpp b/src/amdis/linear_algebra/istl/Preconditioner.hpp
similarity index 96%
rename from dune/amdis/linear_algebra/istl/Preconditioner.hpp
rename to src/amdis/linear_algebra/istl/Preconditioner.hpp
index b1067fdad4f61286fbf137929ae90a440254a63d..6c331d53e789198dee9dd064479ef48aca5dd97c 100644
--- a/dune/amdis/linear_algebra/istl/Preconditioner.hpp
+++ b/src/amdis/linear_algebra/istl/Preconditioner.hpp
@@ -5,7 +5,7 @@
 #include <dune/istl/preconditioner.hh>
 #include <dune/istl/solvercategory.hh>
 
-#include <dune/amdis/linear_algebra/istl/ISTL_Preconditioner.hpp>
+#include <amdis/linear_algebra/istl/ISTL_Preconditioner.hpp>
 
 namespace AMDiS {
 
diff --git a/dune/amdis/linear_algebra/istl/SystemMatrix.cpp b/src/amdis/linear_algebra/istl/SystemMatrix.cpp
similarity index 83%
rename from dune/amdis/linear_algebra/istl/SystemMatrix.cpp
rename to src/amdis/linear_algebra/istl/SystemMatrix.cpp
index 3528f1cd0af78445d8c0e23ec044751969603771..26d4d975b2d79c524632b40f846bbb0c2b84c0cc 100644
--- a/dune/amdis/linear_algebra/istl/SystemMatrix.cpp
+++ b/src/amdis/linear_algebra/istl/SystemMatrix.cpp
@@ -1,5 +1,5 @@
 #define AMDIS_NO_EXTERN_SYSTEMMATRIX
-#include <dune/amdis/linear_algebra/istl/SystemMatrix.hpp>
+#include <amdis/linear_algebra/istl/SystemMatrix.hpp>
 #undef AMDIS_NO_EXTERN_SYSTEMMATRIX
 
 
diff --git a/dune/amdis/linear_algebra/istl/SystemMatrix.hpp b/src/amdis/linear_algebra/istl/SystemMatrix.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/istl/SystemMatrix.hpp
rename to src/amdis/linear_algebra/istl/SystemMatrix.hpp
index 7f68dff2368ba62fbdbce04032a28765d690b240..fa3e50b219658eef03b2ea288132132eba7c9f9c 100644
--- a/dune/amdis/linear_algebra/istl/SystemMatrix.hpp
+++ b/src/amdis/linear_algebra/istl/SystemMatrix.hpp
@@ -8,13 +8,13 @@
 #include <dune/istl/multitypeblockmatrix.hh>
 #include <dune/istl/multitypeblockvector.hh>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/TupleUtility.hpp>
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/linear_algebra/istl/DOFMatrix.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/TupleUtility.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/linear_algebra/istl/DOFMatrix.hpp>
 
 // for explicit instantiation
-#include <dune/amdis/ProblemStatTraits.hpp>
+#include <amdis/ProblemStatTraits.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/istl/SystemVector.cpp b/src/amdis/linear_algebra/istl/SystemVector.cpp
similarity index 83%
rename from dune/amdis/linear_algebra/istl/SystemVector.cpp
rename to src/amdis/linear_algebra/istl/SystemVector.cpp
index 6c7235fd36122d38b0c720fd30b7eb644461b4b5..fc04f99bd3495ed19e973913814e6a57c97732c0 100644
--- a/dune/amdis/linear_algebra/istl/SystemVector.cpp
+++ b/src/amdis/linear_algebra/istl/SystemVector.cpp
@@ -1,5 +1,5 @@
 #define AMDIS_NO_EXTERN_SYSTEMVECTOR
-#include <dune/amdis/linear_algebra/istl/SystemVector.hpp>
+#include <amdis/linear_algebra/istl/SystemVector.hpp>
 #undef AMDIS_NO_EXTERN_SYSTEMVECTOR
 
 
diff --git a/dune/amdis/linear_algebra/istl/SystemVector.hpp b/src/amdis/linear_algebra/istl/SystemVector.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/istl/SystemVector.hpp
rename to src/amdis/linear_algebra/istl/SystemVector.hpp
index c30997a80561ba98c37b638fa3ee56f7dde8e002..7dfcbb2bad000c96ee0a7fd6ee8e5daf012a08e4 100644
--- a/dune/amdis/linear_algebra/istl/SystemVector.hpp
+++ b/src/amdis/linear_algebra/istl/SystemVector.hpp
@@ -7,15 +7,15 @@
 
 #include <dune/istl/multitypeblockvector.hh>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/common/TupleUtility.hpp>
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/common/TupleUtility.hpp>
+#include <amdis/common/Utility.hpp>
 
-#include <dune/amdis/linear_algebra/istl/DOFVector.hpp>
+#include <amdis/linear_algebra/istl/DOFVector.hpp>
 
 // for explicit instantiation
-#include <dune/amdis/ProblemStatTraits.hpp>
+#include <amdis/ProblemStatTraits.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp b/src/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp
similarity index 90%
rename from dune/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp
rename to src/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp
index f042e53c52d262d047abb7a05cbe3849db883351..8a5739689d56b9406fc696096879fb6a6ff1dc84 100644
--- a/dune/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp
+++ b/src/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp
@@ -2,8 +2,8 @@
 
 #include "itl/block_diagonal.hpp"
 
-#include <dune/amdis/CreatorMap.hpp>
-#include <dune/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp>
+#include <amdis/CreatorMap.hpp>
+#include <amdis/linear_algebra/mtl/ITL_Preconditioner.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/BITL_Solver.hpp b/src/amdis/linear_algebra/mtl/BITL_Solver.hpp
similarity index 96%
rename from dune/amdis/linear_algebra/mtl/BITL_Solver.hpp
rename to src/amdis/linear_algebra/mtl/BITL_Solver.hpp
index d441f0360a69535c6dbc7c6d5c4d3490345a11a8..c011bdc769633a0d49c109d654763dc56efd6b41 100644
--- a/dune/amdis/linear_algebra/mtl/BITL_Solver.hpp
+++ b/src/amdis/linear_algebra/mtl/BITL_Solver.hpp
@@ -1,7 +1,7 @@
 #pragma once
 
-#include <dune/amdis/CreatorMap.hpp>
-#include <dune/amdis/linear_algebra/mtl/ITL_Solver.hpp>
+#include <amdis/CreatorMap.hpp>
+#include <amdis/linear_algebra/mtl/ITL_Solver.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp b/src/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp
rename to src/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp
index 1e88dd47e1bcaf91ca90f0c59a857698fa6ed46c..ef661b363706530a4b5672b1a9b2f808f91295ca 100644
--- a/dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp
+++ b/src/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp
@@ -6,10 +6,10 @@
 
 #include <boost/numeric/mtl/matrices.hpp>
 
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/common/Literals.hpp>
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/linear_algebra/LinearAlgebraBase.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/common/Literals.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/linear_algebra/LinearAlgebraBase.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/BlockMTLVector.hpp b/src/amdis/linear_algebra/mtl/BlockMTLVector.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/mtl/BlockMTLVector.hpp
rename to src/amdis/linear_algebra/mtl/BlockMTLVector.hpp
index 82774ed364250ae2e4c099c0cbd262a1b531d557..05d93d238c0798722d1682b17689493d009c1671 100644
--- a/dune/amdis/linear_algebra/mtl/BlockMTLVector.hpp
+++ b/src/amdis/linear_algebra/mtl/BlockMTLVector.hpp
@@ -5,9 +5,9 @@
 
 #include <boost/numeric/mtl/utility/irange.hpp>
 
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/linear_algebra/LinearAlgebraBase.hpp>
-#include <dune/amdis/linear_algebra/mtl/MTLDenseVector.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/linear_algebra/LinearAlgebraBase.hpp>
+#include <amdis/linear_algebra/mtl/MTLDenseVector.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/CMakeLists.txt b/src/amdis/linear_algebra/mtl/CMakeLists.txt
similarity index 87%
rename from dune/amdis/linear_algebra/mtl/CMakeLists.txt
rename to src/amdis/linear_algebra/mtl/CMakeLists.txt
index 0e3e8e956869c69035d1e0d607213f494b763277..0e6d6a6706c12d6bc4d862d2dfb09b1ff4649065 100644
--- a/dune/amdis/linear_algebra/mtl/CMakeLists.txt
+++ b/src/amdis/linear_algebra/mtl/CMakeLists.txt
@@ -21,6 +21,6 @@ install(FILES
     SystemMatrix.hpp
     SystemVector.hpp
     UmfpackRunner.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/linear_algebra/mtl)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/linear_algebra/mtl)
 
 add_subdirectory("itl")
diff --git a/dune/amdis/linear_algebra/mtl/Copy.hpp b/src/amdis/linear_algebra/mtl/Copy.hpp
similarity index 82%
rename from dune/amdis/linear_algebra/mtl/Copy.hpp
rename to src/amdis/linear_algebra/mtl/Copy.hpp
index 1bc43e761bec0f34d89092732b66ad79d67f6e38..1724b311ac95756a312d1c5bf8d5f3b348e8e842 100644
--- a/dune/amdis/linear_algebra/mtl/Copy.hpp
+++ b/src/amdis/linear_algebra/mtl/Copy.hpp
@@ -2,13 +2,13 @@
 
 #include <algorithm>
 
-#include <dune/amdis/linear_algebra/mtl/BlockMTLVector.hpp>
-#include <dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLVector.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/SystemVector.hpp>
-#include <dune/amdis/linear_algebra/mtl/SystemMatrix.hpp>
+#include <amdis/linear_algebra/mtl/SystemVector.hpp>
+#include <amdis/linear_algebra/mtl/SystemMatrix.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/Mapper.hpp>
+#include <amdis/linear_algebra/mtl/Mapper.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/DOFMatrix.hpp b/src/amdis/linear_algebra/mtl/DOFMatrix.hpp
similarity index 99%
rename from dune/amdis/linear_algebra/mtl/DOFMatrix.hpp
rename to src/amdis/linear_algebra/mtl/DOFMatrix.hpp
index 8eee06da70f8dbec1c4447043feba79952e4a663..b8b4d85df3c7489c9206037f2ccc245bbc66d49a 100644
--- a/dune/amdis/linear_algebra/mtl/DOFMatrix.hpp
+++ b/src/amdis/linear_algebra/mtl/DOFMatrix.hpp
@@ -15,8 +15,8 @@
 #include <dune/common/reservedvector.hh>
 #include <dune/functions/functionspacebases/flatmultiindex.hh>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ClonablePtr.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ClonablePtr.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/DOFVector.hpp b/src/amdis/linear_algebra/mtl/DOFVector.hpp
similarity index 95%
rename from dune/amdis/linear_algebra/mtl/DOFVector.hpp
rename to src/amdis/linear_algebra/mtl/DOFVector.hpp
index fcb63d89c82eaee084e86f9ecec720bbd644c03b..b66d6ab5cf2c7bb71f46f6c601d24dc1e1c56e3c 100644
--- a/dune/amdis/linear_algebra/mtl/DOFVector.hpp
+++ b/src/amdis/linear_algebra/mtl/DOFVector.hpp
@@ -8,11 +8,11 @@
 #include <dune/functions/functionspacebases/flatmultiindex.hh>
 #include <dune/functions/functionspacebases/interpolate.hh>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/ClonablePtr.hpp>
-#include <dune/amdis/common/ScalarTypes.hpp>
-#include <dune/amdis/linear_algebra/mtl/MTLDenseVector.hpp>
-#include <dune/amdis/utility/MultiIndex.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/ClonablePtr.hpp>
+#include <amdis/common/ScalarTypes.hpp>
+#include <amdis/linear_algebra/mtl/MTLDenseVector.hpp>
+#include <amdis/utility/MultiIndex.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp b/src/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp
similarity index 96%
rename from dune/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp
rename to src/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp
index 847a55f74fb2ebb1023993435dbf987cf0f63676..2e8ac6ef19f5ed4dbd640d5628e66fb90fdcb9d7 100644
--- a/dune/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp
+++ b/src/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp
@@ -8,10 +8,10 @@
 #include <boost/numeric/itl/pc/ic_0.hpp>
 #include <boost/numeric/mtl/vector/assigner.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/itl/masslumping.hpp>
+#include <amdis/linear_algebra/mtl/itl/masslumping.hpp>
 
-#include <dune/amdis/CreatorMap.hpp>
-#include <dune/amdis/linear_algebra/mtl/Preconditioner.hpp>
+#include <amdis/CreatorMap.hpp>
+#include <amdis/linear_algebra/mtl/Preconditioner.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/ITL_Solver.hpp b/src/amdis/linear_algebra/mtl/ITL_Solver.hpp
similarity index 95%
rename from dune/amdis/linear_algebra/mtl/ITL_Solver.hpp
rename to src/amdis/linear_algebra/mtl/ITL_Solver.hpp
index 038a97972e54457cb00fa289cb3801621f23456f..c60b372cd5f30d18eb71b83b38cb37adc187c174 100644
--- a/dune/amdis/linear_algebra/mtl/ITL_Solver.hpp
+++ b/src/amdis/linear_algebra/mtl/ITL_Solver.hpp
@@ -18,19 +18,19 @@
 // #include <boost/numeric/itl/krylov/tfqmr.hpp>
 
 // more solvers defined in AMDiS
-#include <dune/amdis/linear_algebra/mtl/itl/minres.hpp>
-#include <dune/amdis/linear_algebra/mtl/itl/gcr.hpp>
-#include <dune/amdis/linear_algebra/mtl/itl/fgmres.hpp>
-#include <dune/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp>
-#include <dune/amdis/linear_algebra/mtl/itl/gmres2.hpp>
-#include <dune/amdis/linear_algebra/mtl/itl/gmres_householder.hpp>
-#include <dune/amdis/linear_algebra/mtl/itl/preonly.hpp>
-
-#include <dune/amdis/CreatorMap.hpp>
-#include <dune/amdis/Initfile.hpp>
-#include <dune/amdis/linear_algebra/mtl/LinearSolver.hpp>
-#include <dune/amdis/linear_algebra/mtl/KrylovRunner.hpp>
-#include <dune/amdis/linear_algebra/mtl/UmfpackRunner.hpp>
+#include <amdis/linear_algebra/mtl/itl/minres.hpp>
+#include <amdis/linear_algebra/mtl/itl/gcr.hpp>
+#include <amdis/linear_algebra/mtl/itl/fgmres.hpp>
+#include <amdis/linear_algebra/mtl/itl/fgmres_householder.hpp>
+#include <amdis/linear_algebra/mtl/itl/gmres2.hpp>
+#include <amdis/linear_algebra/mtl/itl/gmres_householder.hpp>
+#include <amdis/linear_algebra/mtl/itl/preonly.hpp>
+
+#include <amdis/CreatorMap.hpp>
+#include <amdis/Initfile.hpp>
+#include <amdis/linear_algebra/mtl/LinearSolver.hpp>
+#include <amdis/linear_algebra/mtl/KrylovRunner.hpp>
+#include <amdis/linear_algebra/mtl/UmfpackRunner.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/KrylovRunner.hpp b/src/amdis/linear_algebra/mtl/KrylovRunner.hpp
similarity index 92%
rename from dune/amdis/linear_algebra/mtl/KrylovRunner.hpp
rename to src/amdis/linear_algebra/mtl/KrylovRunner.hpp
index 41e0f6f9eb458d83df43397fa4bf6e18c5825224..45b9ea2a1475e777a9cf7a671b098cf4e34443ad 100644
--- a/dune/amdis/linear_algebra/mtl/KrylovRunner.hpp
+++ b/src/amdis/linear_algebra/mtl/KrylovRunner.hpp
@@ -9,12 +9,12 @@
 #include <boost/numeric/mtl/mtl.hpp>
 
 // AMDiS headers
-#include <dune/amdis/linear_algebra/PreconditionerInterface.hpp>
-#include <dune/amdis/linear_algebra/RunnerInterface.hpp>
-#include <dune/amdis/linear_algebra/SolverInfo.hpp>
+#include <amdis/linear_algebra/PreconditionerInterface.hpp>
+#include <amdis/linear_algebra/RunnerInterface.hpp>
+#include <amdis/linear_algebra/SolverInfo.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/ITL_Preconditioner.hpp>
-#include <dune/amdis/linear_algebra/mtl/BITL_Preconditioner.hpp>
+#include <amdis/linear_algebra/mtl/ITL_Preconditioner.hpp>
+#include <amdis/linear_algebra/mtl/BITL_Preconditioner.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/LinearSolver.hpp b/src/amdis/linear_algebra/mtl/LinearSolver.hpp
similarity index 91%
rename from dune/amdis/linear_algebra/mtl/LinearSolver.hpp
rename to src/amdis/linear_algebra/mtl/LinearSolver.hpp
index 2a63a93dfa2636eecc704f87a856b60d0264f242..b8a1f70e1a1929b999d6f9abd35c5d603ec14751 100644
--- a/dune/amdis/linear_algebra/mtl/LinearSolver.hpp
+++ b/src/amdis/linear_algebra/mtl/LinearSolver.hpp
@@ -5,10 +5,10 @@
 #include <dune/common/timer.hh>
 
 // AMDiS includes
-#include <dune/amdis/CreatorInterface.hpp>
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/linear_algebra/LinearSolverInterface.hpp>
-#include <dune/amdis/linear_algebra/mtl/BlockMTLVector.hpp>
+#include <amdis/CreatorInterface.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/linear_algebra/LinearSolverInterface.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLVector.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/MTLDenseVector.hpp b/src/amdis/linear_algebra/mtl/MTLDenseVector.hpp
similarity index 94%
rename from dune/amdis/linear_algebra/mtl/MTLDenseVector.hpp
rename to src/amdis/linear_algebra/mtl/MTLDenseVector.hpp
index 1dd083e080fd331a528a91acf6ea88d48a39b330..87dd50a933ca6c79625b875498304e5738bf044e 100644
--- a/dune/amdis/linear_algebra/mtl/MTLDenseVector.hpp
+++ b/src/amdis/linear_algebra/mtl/MTLDenseVector.hpp
@@ -3,7 +3,7 @@
 
 #include <boost/numeric/mtl/vector/dense_vector.hpp>
 
-#include <dune/amdis/linear_algebra/LinearAlgebraBase.hpp>
+#include <amdis/linear_algebra/LinearAlgebraBase.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/Mapper.hpp b/src/amdis/linear_algebra/mtl/Mapper.hpp
similarity index 98%
rename from dune/amdis/linear_algebra/mtl/Mapper.hpp
rename to src/amdis/linear_algebra/mtl/Mapper.hpp
index 20b000c7611d3e4f3e0213e630b6d018909618de..6249f0949554a1e13a49edcac61b74855e868df0 100644
--- a/dune/amdis/linear_algebra/mtl/Mapper.hpp
+++ b/src/amdis/linear_algebra/mtl/Mapper.hpp
@@ -4,8 +4,8 @@
 
 #include <boost/numeric/mtl/matrix/mapped_inserter.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
-#include <dune/amdis/linear_algebra/mtl/SystemMatrix.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
+#include <amdis/linear_algebra/mtl/SystemMatrix.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/Preconditioner.hpp b/src/amdis/linear_algebra/mtl/Preconditioner.hpp
similarity index 95%
rename from dune/amdis/linear_algebra/mtl/Preconditioner.hpp
rename to src/amdis/linear_algebra/mtl/Preconditioner.hpp
index d7e9876a0ca814bb97d3bc3b24b876be74b74f1f..822d1221841e73676e74b282f74571fa1460fc3b 100644
--- a/dune/amdis/linear_algebra/mtl/Preconditioner.hpp
+++ b/src/amdis/linear_algebra/mtl/Preconditioner.hpp
@@ -2,7 +2,7 @@
 
 #pragma once
 
-#include <dune/amdis/linear_algebra/PreconditionerInterface.hpp>
+#include <amdis/linear_algebra/PreconditionerInterface.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/SystemMatrix.cpp b/src/amdis/linear_algebra/mtl/SystemMatrix.cpp
similarity index 79%
rename from dune/amdis/linear_algebra/mtl/SystemMatrix.cpp
rename to src/amdis/linear_algebra/mtl/SystemMatrix.cpp
index 6b9e47bbcdd6cd612a8692277f3959a1bb54f3d5..6182e50796fac5ccbea79435d9e3c444df2f91f3 100644
--- a/dune/amdis/linear_algebra/mtl/SystemMatrix.cpp
+++ b/src/amdis/linear_algebra/mtl/SystemMatrix.cpp
@@ -1,5 +1,5 @@
 #define AMDIS_NO_EXTERN_SYSTEMMATRIX
-#include <dune/amdis/linear_algebra/mtl/SystemMatrix.hpp>
+#include <amdis/linear_algebra/mtl/SystemMatrix.hpp>
 #undef AMDIS_NO_EXTERN_SYSTEMMATRIX
 
 
diff --git a/dune/amdis/linear_algebra/mtl/SystemMatrix.hpp b/src/amdis/linear_algebra/mtl/SystemMatrix.hpp
similarity index 96%
rename from dune/amdis/linear_algebra/mtl/SystemMatrix.hpp
rename to src/amdis/linear_algebra/mtl/SystemMatrix.hpp
index fa6e137f440012799cf9b36158e75694cdc7d267..a674fd16a44fc8afa275cfd2a00faa4ebaeea3de 100644
--- a/dune/amdis/linear_algebra/mtl/SystemMatrix.hpp
+++ b/src/amdis/linear_algebra/mtl/SystemMatrix.hpp
@@ -8,14 +8,14 @@
 #include <boost/numeric/mtl/matrix/dense2D.hpp>
 #include <boost/numeric/mtl/matrix/compressed2D.hpp>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/TupleUtility.hpp>
-#include <dune/amdis/common/Utility.hpp>
-#include <dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
-#include <dune/amdis/linear_algebra/mtl/DOFMatrix.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/TupleUtility.hpp>
+#include <amdis/common/Utility.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
+#include <amdis/linear_algebra/mtl/DOFMatrix.hpp>
 
 // for explicit instantiation
-#include <dune/amdis/ProblemStatTraits.hpp>
+#include <amdis/ProblemStatTraits.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/SystemVector.cpp b/src/amdis/linear_algebra/mtl/SystemVector.cpp
similarity index 79%
rename from dune/amdis/linear_algebra/mtl/SystemVector.cpp
rename to src/amdis/linear_algebra/mtl/SystemVector.cpp
index 81c809a7434157385535cd1c84cb8eb27934e3d4..6fe23e982458095ec98ca59a2564cafb541cc638 100644
--- a/dune/amdis/linear_algebra/mtl/SystemVector.cpp
+++ b/src/amdis/linear_algebra/mtl/SystemVector.cpp
@@ -1,5 +1,5 @@
 #define AMDIS_NO_EXTERN_SYSTEMVECTOR
-#include <dune/amdis/linear_algebra/mtl/SystemVector.hpp>
+#include <amdis/linear_algebra/mtl/SystemVector.hpp>
 #undef AMDIS_NO_EXTERN_SYSTEMVECTOR
 
 
diff --git a/dune/amdis/linear_algebra/mtl/SystemVector.hpp b/src/amdis/linear_algebra/mtl/SystemVector.hpp
similarity index 95%
rename from dune/amdis/linear_algebra/mtl/SystemVector.hpp
rename to src/amdis/linear_algebra/mtl/SystemVector.hpp
index eb45dcf1622d14e9636071b6e19e2c0a8a73a11c..93123b79b26a328fcd345c29a51fab599c31e567 100644
--- a/dune/amdis/linear_algebra/mtl/SystemVector.hpp
+++ b/src/amdis/linear_algebra/mtl/SystemVector.hpp
@@ -6,17 +6,17 @@
 #include <tuple>
 #include <vector>
 
-#include <dune/amdis/Output.hpp>
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/common/ScalarTypes.hpp>
-#include <dune/amdis/common/TupleUtility.hpp>
-#include <dune/amdis/common/Utility.hpp>
+#include <amdis/Output.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/common/ScalarTypes.hpp>
+#include <amdis/common/TupleUtility.hpp>
+#include <amdis/common/Utility.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/BlockMTLVector.hpp>
-#include <dune/amdis/linear_algebra/mtl/DOFVector.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLVector.hpp>
+#include <amdis/linear_algebra/mtl/DOFVector.hpp>
 
 // for explicit instantiation
-#include <dune/amdis/ProblemStatTraits.hpp>
+#include <amdis/ProblemStatTraits.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/UmfpackRunner.hpp b/src/amdis/linear_algebra/mtl/UmfpackRunner.hpp
similarity index 96%
rename from dune/amdis/linear_algebra/mtl/UmfpackRunner.hpp
rename to src/amdis/linear_algebra/mtl/UmfpackRunner.hpp
index 1a0f51274a0681b27a224ff03da8587e8c0b166c..fbca866f1b4cef556ec22cb702df3c28f21f8eb8 100644
--- a/dune/amdis/linear_algebra/mtl/UmfpackRunner.hpp
+++ b/src/amdis/linear_algebra/mtl/UmfpackRunner.hpp
@@ -13,10 +13,10 @@
 #include <boost/numeric/mtl/operation/two_norm.hpp>
 #include <boost/numeric/mtl/interface/umfpack_solve.hpp>
 
-#include <dune/amdis/linear_algebra/RunnerInterface.hpp>
-#include <dune/amdis/linear_algebra/SolverInfo.hpp>
+#include <amdis/linear_algebra/RunnerInterface.hpp>
+#include <amdis/linear_algebra/SolverInfo.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/Copy.hpp>
+#include <amdis/linear_algebra/mtl/Copy.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/linear_algebra/mtl/itl/CMakeLists.txt b/src/amdis/linear_algebra/mtl/itl/CMakeLists.txt
similarity index 73%
rename from dune/amdis/linear_algebra/mtl/itl/CMakeLists.txt
rename to src/amdis/linear_algebra/mtl/itl/CMakeLists.txt
index d9f502823ae62c54fdd8033320217f6bc39e1d36..58ff9722a11ca7c1aafe94582d017ae19a8e5581 100644
--- a/dune/amdis/linear_algebra/mtl/itl/CMakeLists.txt
+++ b/src/amdis/linear_algebra/mtl/itl/CMakeLists.txt
@@ -11,4 +11,4 @@ install(FILES
   minres.hpp
   preonly.hpp
   umfpack2_solve.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/linear_algebra/mtl/itl)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/linear_algebra/mtl/itl)
diff --git a/dune/amdis/linear_algebra/mtl/itl/block_diagonal.hpp b/src/amdis/linear_algebra/mtl/itl/block_diagonal.hpp
similarity index 97%
rename from dune/amdis/linear_algebra/mtl/itl/block_diagonal.hpp
rename to src/amdis/linear_algebra/mtl/itl/block_diagonal.hpp
index 59193d34201313215d582351b9064a635a677b94..3e9f147cebe4c07739640d8bde513ae2bdbc7ee8 100644
--- a/dune/amdis/linear_algebra/mtl/itl/block_diagonal.hpp
+++ b/src/amdis/linear_algebra/mtl/itl/block_diagonal.hpp
@@ -2,7 +2,7 @@
 
 #include <boost/numeric/itl/pc/diagonal.hpp>
 
-#include <dune/amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
+#include <amdis/linear_algebra/mtl/BlockMTLMatrix.hpp>
 
 namespace itl
 {
diff --git a/dune/amdis/linear_algebra/mtl/itl/details.hpp b/src/amdis/linear_algebra/mtl/itl/details.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/details.hpp
rename to src/amdis/linear_algebra/mtl/itl/details.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/fgmres.hpp b/src/amdis/linear_algebra/mtl/itl/fgmres.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/fgmres.hpp
rename to src/amdis/linear_algebra/mtl/itl/fgmres.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp b/src/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp
rename to src/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/gcr.hpp b/src/amdis/linear_algebra/mtl/itl/gcr.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/gcr.hpp
rename to src/amdis/linear_algebra/mtl/itl/gcr.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/gmres2.hpp b/src/amdis/linear_algebra/mtl/itl/gmres2.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/gmres2.hpp
rename to src/amdis/linear_algebra/mtl/itl/gmres2.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/gmres_householder.hpp b/src/amdis/linear_algebra/mtl/itl/gmres_householder.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/gmres_householder.hpp
rename to src/amdis/linear_algebra/mtl/itl/gmres_householder.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/hypre.hpp b/src/amdis/linear_algebra/mtl/itl/hypre.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/hypre.hpp
rename to src/amdis/linear_algebra/mtl/itl/hypre.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/masslumping.hpp b/src/amdis/linear_algebra/mtl/itl/masslumping.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/masslumping.hpp
rename to src/amdis/linear_algebra/mtl/itl/masslumping.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/minres.hpp b/src/amdis/linear_algebra/mtl/itl/minres.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/minres.hpp
rename to src/amdis/linear_algebra/mtl/itl/minres.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/preonly.hpp b/src/amdis/linear_algebra/mtl/itl/preonly.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/preonly.hpp
rename to src/amdis/linear_algebra/mtl/itl/preonly.hpp
diff --git a/dune/amdis/linear_algebra/mtl/itl/umfpack2_solve.hpp b/src/amdis/linear_algebra/mtl/itl/umfpack2_solve.hpp
similarity index 100%
rename from dune/amdis/linear_algebra/mtl/itl/umfpack2_solve.hpp
rename to src/amdis/linear_algebra/mtl/itl/umfpack2_solve.hpp
diff --git a/dune/amdis/operations/Arithmetic.hpp b/src/amdis/operations/Arithmetic.hpp
similarity index 97%
rename from dune/amdis/operations/Arithmetic.hpp
rename to src/amdis/operations/Arithmetic.hpp
index 95f1159d9964771d730716d6b5825116ad88167f..b853e41915f96c77861f6df49c171210ab14db6a 100644
--- a/dune/amdis/operations/Arithmetic.hpp
+++ b/src/amdis/operations/Arithmetic.hpp
@@ -2,10 +2,10 @@
 
 #include <algorithm>
 
-#include <dune/amdis/common/Math.hpp>
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/operations/Basic.hpp>
-#include <dune/amdis/operations/Composer.hpp>
+#include <amdis/common/Math.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/operations/Basic.hpp>
+#include <amdis/operations/Composer.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/operations/Basic.hpp b/src/amdis/operations/Basic.hpp
similarity index 94%
rename from dune/amdis/operations/Basic.hpp
rename to src/amdis/operations/Basic.hpp
index bcc5d0f8f00ff0867abd3b8368312afde9f86b0c..c5ae4ac200e2fe4c6220ea6fb9ac80759b910836 100644
--- a/dune/amdis/operations/Basic.hpp
+++ b/src/amdis/operations/Basic.hpp
@@ -2,11 +2,11 @@
 
 #include <algorithm>
 
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/Math.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/ScalarTypes.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/Math.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/ScalarTypes.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/operations/CMakeLists.txt b/src/amdis/operations/CMakeLists.txt
similarity index 67%
rename from dune/amdis/operations/CMakeLists.txt
rename to src/amdis/operations/CMakeLists.txt
index 624d7666b5f147e73576fb6ca1572d38d0df2c4e..9bb68ae2cb321dc3090b9137ee6737f675a10f5f 100644
--- a/dune/amdis/operations/CMakeLists.txt
+++ b/src/amdis/operations/CMakeLists.txt
@@ -7,4 +7,4 @@ install(FILES
     Composer.hpp
     FieldMatVec.hpp
     MaxMin.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis/operations)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/operations)
diff --git a/dune/amdis/operations/CMath.hpp b/src/amdis/operations/CMath.hpp
similarity index 99%
rename from dune/amdis/operations/CMath.hpp
rename to src/amdis/operations/CMath.hpp
index 5c2c83c08ac0561cd55d7a69cceb38dd9bcf2bd7..e8c7a39dede641d0382cfd1b9a4d12397d70ebcd 100644
--- a/dune/amdis/operations/CMath.hpp
+++ b/src/amdis/operations/CMath.hpp
@@ -2,7 +2,7 @@
 
 #include <cmath>
 
-#include <dune/amdis/operations/Basic.hpp>
+#include <amdis/operations/Basic.hpp>
 
 /// Macro that generates a unary functor with explicitly given function and derivative.
 /**
diff --git a/dune/amdis/operations/Composer.hpp b/src/amdis/operations/Composer.hpp
similarity index 96%
rename from dune/amdis/operations/Composer.hpp
rename to src/amdis/operations/Composer.hpp
index 2a1e987e38411ec1fc8fb363c0dd9b74709c5118..8fe968557d06c416d6271721ed606da9e9377195 100644
--- a/dune/amdis/operations/Composer.hpp
+++ b/src/amdis/operations/Composer.hpp
@@ -5,9 +5,9 @@
 
 #include <dune/common/std/apply.hh>
 
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/operations/Basic.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/operations/Basic.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/operations/FieldMatVec.hpp b/src/amdis/operations/FieldMatVec.hpp
similarity index 89%
rename from dune/amdis/operations/FieldMatVec.hpp
rename to src/amdis/operations/FieldMatVec.hpp
index 2355353dd11a3e31fec62478cc861a32460d3bee..5b04cb4ae9a6de2eca80b0d39913bc219272ade7 100644
--- a/dune/amdis/operations/FieldMatVec.hpp
+++ b/src/amdis/operations/FieldMatVec.hpp
@@ -1,10 +1,10 @@
 #pragma once
 
-#include <dune/amdis/common/FieldMatVec.hpp>
-#include <dune/amdis/operations/Arithmetic.hpp>
-#include <dune/amdis/operations/Basic.hpp>
-#include <dune/amdis/operations/CMath.hpp>
-#include <dune/amdis/operations/Composer.hpp>
+#include <amdis/common/FieldMatVec.hpp>
+#include <amdis/operations/Arithmetic.hpp>
+#include <amdis/operations/Basic.hpp>
+#include <amdis/operations/CMath.hpp>
+#include <amdis/operations/Composer.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/operations/MaxMin.hpp b/src/amdis/operations/MaxMin.hpp
similarity index 100%
rename from dune/amdis/operations/MaxMin.hpp
rename to src/amdis/operations/MaxMin.hpp
diff --git a/dune/amdis/test/CMakeLists.txt b/src/amdis/test/CMakeLists.txt
similarity index 100%
rename from dune/amdis/test/CMakeLists.txt
rename to src/amdis/test/CMakeLists.txt
diff --git a/dune/amdis/test/kdtree.hpp b/src/amdis/test/kdtree.hpp
similarity index 100%
rename from dune/amdis/test/kdtree.hpp
rename to src/amdis/test/kdtree.hpp
diff --git a/dune/amdis/test/macro.stand.2d b/src/amdis/test/macro.stand.2d
similarity index 100%
rename from dune/amdis/test/macro.stand.2d
rename to src/amdis/test/macro.stand.2d
diff --git a/dune/amdis/test/test.json.2d b/src/amdis/test/test.json.2d
similarity index 100%
rename from dune/amdis/test/test.json.2d
rename to src/amdis/test/test.json.2d
diff --git a/dune/amdis/test/test1.cc b/src/amdis/test/test1.cc
similarity index 97%
rename from dune/amdis/test/test1.cc
rename to src/amdis/test/test1.cc
index fd247c63483b3200549923ca6e3aaa0db5048507..e7ecb748c511a9b6df8c0c4eceeea9dea1e03540 100644
--- a/dune/amdis/test/test1.cc
+++ b/src/amdis/test/test1.cc
@@ -1,6 +1,6 @@
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/common/Literals.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/common/Literals.hpp>
 
 #define TEST_EQ(expr1, expr2) test_exit( (expr1) == (expr2), "'" , #expr1 , "' != '" , #expr2 , "'" )
 
diff --git a/dune/amdis/test/test2.cc b/src/amdis/test/test2.cc
similarity index 87%
rename from dune/amdis/test/test2.cc
rename to src/amdis/test/test2.cc
index 5cbfa00fbaaacbba23375efa36288d64b04525ea..b24f9428ade461f302de919e0ab3a473629c0b68 100644
--- a/dune/amdis/test/test2.cc
+++ b/src/amdis/test/test2.cc
@@ -1,6 +1,6 @@
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/common/Literals.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/common/Literals.hpp>
 
 #ifndef DIM
 #define DIM 2
@@ -12,7 +12,7 @@
 using namespace AMDiS;
 
 namespace {
-  
+
   using TestParam   = ProblemStatTraits<DIM, DOW, 1>;
   using TestProblem = ProblemStat<TestParam>;
   using Op = TestProblem::OperatorType;
@@ -26,80 +26,80 @@ namespace {
     {
       prob->initialize(INIT_ALL);
     }
-    
-  
+
+
     void test1() // AddOperators
     {
       auto const& u = prob->getSolution<0>();
-      
+
       // define operators
       Op op1;
-      op1.addZOT( 1.0 ); 
+      op1.addZOT( 1.0 );
       op1.addZOT( constant(1.0) );
-      
+
       // value of DOFVector at QPs
       op1.addZOT( valueOf(u) );
       op1.addZOT( valueOfFunc(u, [](auto const& U) { return U; }) );
       op1.addZOT( valueOfFunc(u, [](auto const& U) { return U; }, 1) );
-      
+
       // partial derivative of DOFVector
       op1.addZOT( derivativeOf(u, 0) );
       op1.addZOT( derivativeOf(u, 1) );
-      
+
   //     op1.addFOT( gradientOf(u), GRD_PSI );
-      
+
       // evaluate functor at coordinates
       op1.addZOT( eval([](auto const& x) { return x[0]; }) );
       op1.addZOT( [](auto const& x) { return 1.0; } );
-      
+
       // add operator to system
       prob->addMatrixOperator(op1, 0, 0);
       prob->addVectorOperator(op1, 0);
-      
+
       // define operators with factor argument
       Op op2;
       op2.addZOT( valueOf(u, 1.0) );
-      
+
       op2.addZOT( derivativeOf(u, 0, 1.0) );
       op2.addZOT( derivativeOf(u, 1, 1.0) );
-      
+
       // add operator to system, with optional factor as pointer
       double* factor = new double(1.0);
       prob->addMatrixOperator(op2, 0, 0, factor);
       prob->addVectorOperator(op2, 0, factor);
     }
-  
-  
-    void test2() // MatrixVector 
+
+
+    void test2() // MatrixVector
     {
       auto const& u = prob->getSolution<0>();
 
       using GradOp = std::decay_t< decltype(gradientOf(u)) >;
       using DerivOp = std::decay_t< decltype(derivativeOf(u,0)) >;
-      
+
       using Jacobian = typename GradOp::value_type;
       using Derivative = typename DerivOp::value_type;
-      
+
       Jacobian v, w;
-      
+
       double erg = v[0].dot(w[0]);
     }
 
   protected:
     shared_ptr<TestProblem> prob;
   };
-  
+
 } // end namespace
 
 
-int main(int argc, char* argv[]) 
-{  
+int main(int argc, char* argv[])
+{
   AMDiS::init(argc, argv);
-    
+
   auto tester = make_shared<AMDiSTester>("test");
   tester->test1();
   tester->test2();
-      
+
   AMDiS::finalize();
   return 0;
 }
\ No newline at end of file
diff --git a/src/amdis/utility/CMakeLists.txt b/src/amdis/utility/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6342008d044a0f7082b9da653438b66f2ce9b6a5
--- /dev/null
+++ b/src/amdis/utility/CMakeLists.txt
@@ -0,0 +1,22 @@
+#install headers
+
+target_include_directories(amdis PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>)
+target_compile_definitions(amdis PUBLIC AMDIS_BACKEND_MTL=1)
+target_compile_options(amdis PUBLIC -Wall -pedantic -Wno-unused-parameter) #-ftemplate-backtrace-limit=0
+
+dune_library_add_sources(amdis SOURCES
+    Filesystem.cpp
+)
+
+install(FILES
+    Filesystem.hpp
+    FiniteElementType.hpp
+    MultiIndex.hpp
+    RangeType.hpp
+    String.hpp
+    Traversal.hpp
+    TreeData.hpp
+    TreePath.hpp
+    Visitor.hpp
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/utility)
diff --git a/dune/amdis/utility/Filesystem.cpp b/src/amdis/utility/Filesystem.cpp
similarity index 98%
rename from dune/amdis/utility/Filesystem.cpp
rename to src/amdis/utility/Filesystem.cpp
index 2a916832ef49cc827245fa0a02b6f88d74d69b64..233ea4574edd04926abfd9900e96e6854501a0a0 100644
--- a/dune/amdis/utility/Filesystem.cpp
+++ b/src/amdis/utility/Filesystem.cpp
@@ -17,7 +17,7 @@
 #include <fstream>
 #include <string>
 
-#include <dune/amdis/Output.hpp>
+#include <amdis/Output.hpp>
 
 template <class... Args>
 void inline _ignore_(Args&&...) {}
diff --git a/dune/amdis/utility/Filesystem.hpp b/src/amdis/utility/Filesystem.hpp
similarity index 98%
rename from dune/amdis/utility/Filesystem.hpp
rename to src/amdis/utility/Filesystem.hpp
index 87b2f975ea278a826a0dfdab8699aecf84cc7f4b..debb8bd5e987d05cf961247a0fbffde2cd581d9c 100644
--- a/dune/amdis/utility/Filesystem.hpp
+++ b/src/amdis/utility/Filesystem.hpp
@@ -3,7 +3,7 @@
 #include <string>
 #include <vector>
 
-#include <dune/amdis/utility/String.hpp>
+#include <amdis/utility/String.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/utility/FiniteElementType.hpp b/src/amdis/utility/FiniteElementType.hpp
similarity index 94%
rename from dune/amdis/utility/FiniteElementType.hpp
rename to src/amdis/utility/FiniteElementType.hpp
index 87c4733681be14f796ef0841e1e8542bbebc2eba..286034bcbbead899025d0bf79f1c43c76ebdf139 100644
--- a/dune/amdis/utility/FiniteElementType.hpp
+++ b/src/amdis/utility/FiniteElementType.hpp
@@ -2,9 +2,9 @@
 
 #include <cmath>
 
-#include <dune/amdis/common/Loops.hpp>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/common/Tags.hpp>
+#include <amdis/common/Loops.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/common/Tags.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/utility/MultiIndex.hpp b/src/amdis/utility/MultiIndex.hpp
similarity index 92%
rename from dune/amdis/utility/MultiIndex.hpp
rename to src/amdis/utility/MultiIndex.hpp
index 93453b4de8e7182109a14171760fe77a74fb0c80..196f12d70829ba7f3abbbfb24f72ce625e9e02b4 100644
--- a/dune/amdis/utility/MultiIndex.hpp
+++ b/src/amdis/utility/MultiIndex.hpp
@@ -4,7 +4,7 @@
 #include <dune/functions/common/indexaccess.hh>
 #include <dune/functions/functionspacebases/flatmultiindex.hh>
 
-#include <dune/amdis/common/Mpl.hpp>
+#include <amdis/common/Mpl.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/utility/RangeType.hpp b/src/amdis/utility/RangeType.hpp
similarity index 95%
rename from dune/amdis/utility/RangeType.hpp
rename to src/amdis/utility/RangeType.hpp
index 02eb86797ffa36cf755124c335e74e0cba3d63c1..cee8d959e970b86769290983aa38c2797ec0d86d 100644
--- a/dune/amdis/utility/RangeType.hpp
+++ b/src/amdis/utility/RangeType.hpp
@@ -4,8 +4,8 @@
 
 #include <dune/common/fvector.hh>
 
-#include <dune/amdis/common/IndexSeq.hpp>
-#include <dune/amdis/common/MultiTypeVector.hpp>
+#include <amdis/common/IndexSeq.hpp>
+#include <amdis/common/MultiTypeVector.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/utility/String.hpp b/src/amdis/utility/String.hpp
similarity index 100%
rename from dune/amdis/utility/String.hpp
rename to src/amdis/utility/String.hpp
diff --git a/dune/amdis/utility/Traversal.hpp b/src/amdis/utility/Traversal.hpp
similarity index 100%
rename from dune/amdis/utility/Traversal.hpp
rename to src/amdis/utility/Traversal.hpp
diff --git a/dune/amdis/utility/TreeData.hpp b/src/amdis/utility/TreeData.hpp
similarity index 99%
rename from dune/amdis/utility/TreeData.hpp
rename to src/amdis/utility/TreeData.hpp
index 6798b009b9552d8869429f3ba15b30d8df81adb0..411969d3ca93e0631ef2a5f55fafd6ff60f34b98 100644
--- a/dune/amdis/utility/TreeData.hpp
+++ b/src/amdis/utility/TreeData.hpp
@@ -6,7 +6,7 @@
 #include <vector>
 
 #include <dune/typetree/typetree.hh>
-#include <dune/amdis/utility/Visitor.hpp>
+#include <amdis/utility/Visitor.hpp>
 
 namespace AMDiS
 {
diff --git a/dune/amdis/utility/TreePath.hpp b/src/amdis/utility/TreePath.hpp
similarity index 100%
rename from dune/amdis/utility/TreePath.hpp
rename to src/amdis/utility/TreePath.hpp
diff --git a/dune/amdis/utility/Visitor.hpp b/src/amdis/utility/Visitor.hpp
similarity index 98%
rename from dune/amdis/utility/Visitor.hpp
rename to src/amdis/utility/Visitor.hpp
index a87991f966357043adf4d9323e6c143a85dc43a6..dd2c0a8b7a15a5a8acc77dc4447f7ecb13f5707a 100644
--- a/dune/amdis/utility/Visitor.hpp
+++ b/src/amdis/utility/Visitor.hpp
@@ -1,8 +1,8 @@
 #pragma once
 
 #include <dune/typetree/visitor.hh>
-#include <dune/amdis/common/Mpl.hpp>
-#include <dune/amdis/utility/Traversal.hpp>
+#include <amdis/common/Mpl.hpp>
+#include <amdis/utility/Traversal.hpp>
 
 namespace AMDiS
 {
diff --git a/src/expressions.cc b/src/expressions.cc
deleted file mode 100644
index 05cd063c9b478b94e2055502bf0d332311d95790..0000000000000000000000000000000000000000
--- a/src/expressions.cc
+++ /dev/null
@@ -1,114 +0,0 @@
-// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-// vi: set et ts=4 sw=2 sts=2:
-
-#include <iostream>
-
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
-#include <dune/amdis/common/Literals.hpp>
-#include <dune/amdis/common/FieldMatVec.hpp>
-#include <dune/amdis/gridfunctions/Integrate.hpp>
-
-
-using namespace AMDiS;
-
-// 1 component with polynomial degree 1
-//using Grid = Dune::AlbertaGrid<AMDIS_DIM, AMDIS_DOW>;
-using ElliptParam   = YaspGridBasis<AMDIS_DIM, 2>;
-using ElliptProblem = ProblemStat<ElliptParam>;
-
-int main(int argc, char** argv)
-{
-  AMDiS::init(argc, argv);
-
-  using namespace Dune::Indices;
-
-  ElliptProblem prob("ellipt");
-  prob.initialize(INIT_ALL);
-
-  auto u = prob.getSolution(_0);
-
-  // eval a functor at global coordinates (at quadrature points)
-  auto expr1 = evalAtQP([](Dune::FieldVector<double, AMDIS_DOW> const& x) { return x[0] + x[1]; });
-  auto expr2 = [](Dune::FieldVector<double, AMDIS_DOW> const& x) { return x[0] + x[1]; };
-  auto expr3 = [](auto const& x) { return x[0] + x[1]; };
-
-  // constant values at quadrature points
-  auto expr4 = 1.0;
-  auto expr5 = Dune::FieldVector<double, AMDIS_DOW>{1.0, 2.0};
-  auto expr6 = std::ref(expr4);
-
-  // Coordinate vector and component
-  auto expr7 = X();
-  auto expr8 = X(0);
-
-  // Evaluation of the DOFVector (component) at quadrature points
-  auto expr9 = prob.getSolution(_0);
-
-  // ---------------------------------
-
-  // derivative of expressions
-
-  auto diff4 = gradientAtQP(expr4);
-  // auto diff5 = gradientAtQP(expr5);
-  auto diff6 = gradientAtQP(expr6);
-
-  // auto diff7 = gradientAtQP(expr7);
-  auto diff8 = gradientAtQP(expr8);
-
-  auto diff9 = gradientAtQP(expr9);
-
-  // ---------------------------------
-
-  u.interpolate(expr1);
-  u.interpolate(expr2);
-  u.interpolate(expr3);
-
-  u.interpolate(expr4);
-  u.interpolate(expr6);
-
-  u.interpolate(expr8);
-
-  u.interpolate(expr9);
-
-  // ---------------------------------
-
-  // operations with expressions
-
-  auto op1 = expr1 + expr2;
-  auto op2 = expr1 * expr4;
-  auto op3 = two_norm(expr5);
-  auto op4 = min(expr6, expr8);
-  auto op5 = one_norm(expr7);
-
-  auto op6 = invokeAtQP([](double v) { return 2*v; }, op5);
-
-
-  u.interpolate(two_norm(diff4));
-  u.interpolate(two_norm(diff6));
-
-  u.interpolate(two_norm(diff8));
-
-  u.interpolate(two_norm(diff9));
-
-  // ---------------------------------
-
-  // integration of expressions
-
-  auto gv = u.basis().gridView();
-
-  auto int1 = integrate(op1, gv, 5);
-  auto int2 = integrate(op2, gv, 5);
-  auto int3 = integrate(op3, gv);
-  auto int4 = integrate(op4, gv, 5);
-  auto int5 = integrate(op5, gv, 5);
-  auto int6 = integrate(op6, gv, 5);
-
-  std::cout << int1 << int2 << int3 << int4 << int5 << int6 << "\n";
-
-  AdaptInfo adaptInfo("adapt", 1);
-  prob.writeFiles(adaptInfo, true);
-  AMDiS::finalize();
-  return 0;
-}
diff --git a/src/gridview.cc b/src/gridview.cc
deleted file mode 100644
index df2bed9dc3ee5cc4f212c3f4ba7804762986e795..0000000000000000000000000000000000000000
--- a/src/gridview.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-// vi: set et ts=4 sw=2 sts=2:
-
-#include <iostream>
-
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/AdaptInstationary.hpp>
-#include <dune/amdis/ProblemInstat.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Terms.hpp>
-#include <dune/amdis/common/Literals.hpp>
-
-#include <dune/grid/utility/structuredgridfactory.hh>
-
-using namespace AMDiS;
-
-using Grid = Dune::AlbertaGrid<AMDIS_DIM, AMDIS_DOW>;
-
-// 1 component with polynomial degree 1
-using Param   = LagrangeTraits<Grid, 1>;
-using ElliptProblem = ProblemStat<Param>;
-using ElliptProblemInstat = ProblemInstat<Param>;
-
-int main(int argc, char** argv)
-{
-  AMDiS::init(argc, argv);
-
-  // Create grid from structured grid
-  std::array<unsigned int, 2> n = {{4, 4}};
-  Dune::FieldVector<double, 2> lower = {{0.0, 0.0}};
-  Dune::FieldVector<double, 2> upper = {{1.0, 1.0}};
-  auto grid = Dune::StructuredGridFactory<Grid>::createSimplexGrid(lower, upper, n);
-  // NOTE: can not be used with AlbertaGrid
-
-  ElliptProblem prob("ellipt", *grid);
-  prob.initialize(INIT_ALL);
-
-  ElliptProblemInstat probInstat("ellipt", prob);
-  probInstat.initialize(INIT_UH_OLD);
-
-  AdaptInfo adaptInfo("adapt");
-
-  using Op = ElliptProblem::ElementOperator;
-  Op opL, opForce;
-
-  opL.addSOT(1.0);
-  prob.addMatrixOperator(opL, 0, 0);
-
-  opForce.addZOT( eval([](auto const& x) { return -1.0; }) );
-  prob.addVectorOperator(opForce, 0);
-
-  using BOp = ElliptProblem::IntersectionOperator;
-  BOp opB;
-  opB.addZOT(1.0);
-  prob.addVectorOperator({1}, opB, 0);
-
-  // set boundary condition
-  auto predicate = [](auto const& x){ return x[0] < 1.e-8 || x[1] < 1.e-8; }; // define boundary
-  auto dbcValues = [](auto const& x){ return 0.0; }; // set value
-  prob.addDirichletBC(predicate, 0, 0, dbcValues);
-
-  *prob.getSolution() = 0.0; // maybe not necessary
-
-  prob.buildAfterCoarsen(adaptInfo, Flag(0));
-  prob.solve(adaptInfo);
-  prob.writeFiles(adaptInfo, true);
-
-  AMDiS::finalize();
-  return 0;
-}
diff --git a/src/test.cc b/src/test.cc
deleted file mode 100644
index e135759252e27b18fddf233add597c91d5cdd438..0000000000000000000000000000000000000000
--- a/src/test.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-// vi: set et ts=4 sw=2 sts=2:
-
-#include <iostream>
-
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/AdaptInstationary.hpp>
-#include <dune/amdis/ProblemInstat.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Terms.hpp>
-#include <dune/amdis/common/Literals.hpp>
-
-using namespace AMDiS;
-
-#define DIM 2
-
-int main(int argc, char** argv)
-{
-  AMDiS::init(argc, argv);
-  using namespace Dune::Functions::BasisBuilder;
-
-  const int dim = DIM;
-  typedef Dune::YaspGrid<dim> GridType;
-  Dune::FieldVector<double,dim> bbox = {1, 1};
-  std::array<int,dim> num = {1, 1};
-  GridType grid(bbox,num);
-
-  typedef GridType::LeafGridView GridView;
-  GridView gridView = grid.leafGridView();
-
-  auto basis = makeBasis(
-      gridView,
-      composite(
-        power<dim>(
-          lagrange<2>(),
-          flatLexicographic()),
-        lagrange<1>(),
-        blockedLexicographic()
-      ));
-
-  auto localView = basis.localView();
-  forEachNode(localView.tree(), [&](auto const& rowNode, auto rowTreePath)
-  {
-    msg("Basis[", to_string(rowTreePath), "]: treeIndex = ",rowNode.treeIndex());
-  });
-}
diff --git a/test/ConceptsTest.cpp b/test/ConceptsTest.cpp
index 3ce8b5e6e978861285d045d84fab665003529720..ee75dfe4c1040e1af379c7333af153488c6a9c8d 100644
--- a/test/ConceptsTest.cpp
+++ b/test/ConceptsTest.cpp
@@ -4,8 +4,8 @@
 #include <dune/common/reservedvector.hh>
 #include <dune/functions/functionspacebases/flatmultiindex.hh>
 
-#include <dune/amdis/common/Concepts.hpp>
-#include <dune/amdis/common/FieldMatVec.hpp>
+#include <amdis/common/Concepts.hpp>
+#include <amdis/common/FieldMatVec.hpp>
 
 using namespace AMDiS;
 
diff --git a/test/ExpressionsTest.cpp b/test/ExpressionsTest.cpp
index 80db279b37f3eae1cddd45ba1ef83812253303a3..bc544975c96726fd944e82b33202119f31dcf1d9 100644
--- a/test/ExpressionsTest.cpp
+++ b/test/ExpressionsTest.cpp
@@ -3,12 +3,12 @@
 
 #include <iostream>
 
-#include <dune/amdis/AMDiS.hpp>
-#include <dune/amdis/ProblemStat.hpp>
-#include <dune/amdis/Operators.hpp>
-#include <dune/amdis/common/Literals.hpp>
-#include <dune/amdis/common/FieldMatVec.hpp>
-#include <dune/amdis/gridfunctions/Integrate.hpp>
+#include <amdis/AMDiS.hpp>
+#include <amdis/ProblemStat.hpp>
+#include <amdis/Operators.hpp>
+#include <amdis/common/Literals.hpp>
+#include <amdis/common/FieldMatVec.hpp>
+#include <amdis/gridfunctions/Integrate.hpp>
 
 
 using namespace AMDiS;
diff --git a/test/FieldMatVecTest.cpp b/test/FieldMatVecTest.cpp
index bf890851752e4716068c44dce85db8c7248b4332..d4573ffbb704b533359fae211d3f0415f92e842c 100644
--- a/test/FieldMatVecTest.cpp
+++ b/test/FieldMatVecTest.cpp
@@ -1,7 +1,7 @@
 #include <cmath>
 
-#include <dune/amdis/common/FieldMatVec.hpp>
-#include <dune/amdis/common/Math.hpp>
+#include <amdis/common/FieldMatVec.hpp>
+#include <amdis/common/Math.hpp>
 
 #include "Tests.hpp"
 
diff --git a/test/FilesystemTest.cpp b/test/FilesystemTest.cpp
index 0686769f31070fad6b38ae296025c54b15e3b5de..4cb0ff25cb65b894aa2fdf2e2c29ceeb07a99b91 100644
--- a/test/FilesystemTest.cpp
+++ b/test/FilesystemTest.cpp
@@ -1,4 +1,4 @@
-#include <dune/amdis/utility/Filesystem.hpp>
+#include <amdis/utility/Filesystem.hpp>
 
 #include "Tests.hpp"
 
diff --git a/test/FiniteElementTypeTest.cpp b/test/FiniteElementTypeTest.cpp
index 3bb0e0d5dcc97fac6bfff1faab5054419df59f1f..4bcc83877816ad46cbc5233d2e3226f96ff6335f 100644
--- a/test/FiniteElementTypeTest.cpp
+++ b/test/FiniteElementTypeTest.cpp
@@ -4,7 +4,7 @@
 #include <dune/functions/functionspacebases/powerbasis.hh>
 #include <dune/functions/functionspacebases/lagrangebasis.hh>
 
-#include <dune/amdis/utility/FiniteElementType.hpp>
+#include <amdis/utility/FiniteElementType.hpp>
 #include "Tests.hpp"
 
 int main()
diff --git a/test/MultiTypeMatrixTest.cpp b/test/MultiTypeMatrixTest.cpp
index 3ce99c7225ffcfa233810079157d98a622a62016..0b81d2d58e9a6ab93e5ea2a21126a8cb2a42359f 100644
--- a/test/MultiTypeMatrixTest.cpp
+++ b/test/MultiTypeMatrixTest.cpp
@@ -1,5 +1,5 @@
-#include <dune/amdis/common/FieldMatVec.hpp>
-#include <dune/amdis/common/MultiTypeMatrix.hpp>
+#include <amdis/common/FieldMatVec.hpp>
+#include <amdis/common/MultiTypeMatrix.hpp>
 
 using namespace AMDiS;
 
diff --git a/test/MultiTypeVectorTest.cpp b/test/MultiTypeVectorTest.cpp
index dbfe6ba85008bc54c3d39ef70dc1ee5f4165603c..c1ae6a567a0c531c65860a6a1a252e5dabb46cfe 100644
--- a/test/MultiTypeVectorTest.cpp
+++ b/test/MultiTypeVectorTest.cpp
@@ -1,5 +1,5 @@
-#include <dune/amdis/common/FieldMatVec.hpp>
-#include <dune/amdis/common/MultiTypeVector.hpp>
+#include <amdis/common/FieldMatVec.hpp>
+#include <amdis/common/MultiTypeVector.hpp>
 
 using namespace AMDiS;
 
diff --git a/test/RangeTypeTest.cpp b/test/RangeTypeTest.cpp
index ce34a5e7ca4864e27c3bf6583e051ef036b7ac34..0ae30121be3166143c11f89955dcc9b4c4dad96d 100644
--- a/test/RangeTypeTest.cpp
+++ b/test/RangeTypeTest.cpp
@@ -4,7 +4,7 @@
 #include <dune/functions/functionspacebases/powerbasis.hh>
 #include <dune/functions/functionspacebases/lagrangebasis.hh>
 
-#include <dune/amdis/utility/RangeType.hpp>
+#include <amdis/utility/RangeType.hpp>
 #include "Tests.hpp"
 
 int main()
diff --git a/test/StringTest.cpp b/test/StringTest.cpp
index dabdb755eb639f813ead124af8a02566af1bb672..c73cefdcee8a173d0dd1d61eaeb0b854804deaff 100644
--- a/test/StringTest.cpp
+++ b/test/StringTest.cpp
@@ -1,7 +1,7 @@
 #include <string>
 #include <vector>
 
-#include <dune/amdis/utility/String.hpp>
+#include <amdis/utility/String.hpp>
 #include "Tests.hpp"
 
 using namespace AMDiS;
diff --git a/test/TreeDataTest.cpp b/test/TreeDataTest.cpp
index a02ff23b1bc7497dc98092c01cad646e2a50f980..3e02c17c3294ddcaf4858ad88d197cd083f9926b 100644
--- a/test/TreeDataTest.cpp
+++ b/test/TreeDataTest.cpp
@@ -9,7 +9,7 @@
 #include <dune/functions/functionspacebases/lagrangebasis.hh>
 #include <dune/functions/functionspacebases/powerbasis.hh>
 
-#include <dune/amdis/utility/TreeData.hpp>
+#include <amdis/utility/TreeData.hpp>
 
 #include "Tests.hpp"