diff --git a/dumux/common/boundarytypes.hh b/dumux/common/boundarytypes.hh
index c65f634ca920a530b0faabf622a3591b9265ea9d..cd5a31e5827088277c1165f436bc33e597a11723 100644
--- a/dumux/common/boundarytypes.hh
+++ b/dumux/common/boundarytypes.hh
@@ -23,6 +23,8 @@
 #ifndef BOUNDARY_TYPES_HH
 #define BOUNDARY_TYPES_HH
 
+#include <dune/common/deprecated.hh>
+
 #include <dumux/common/valgrind.hh>
 
 namespace Dumux
diff --git a/dumux/common/pointsource.hh b/dumux/common/pointsource.hh
index b5cbe73ea6ad944a23d6e7480dd2f5ebb04992df..2afe091b746be3c6d3fae6b7925be63e5a2bb845 100644
--- a/dumux/common/pointsource.hh
+++ b/dumux/common/pointsource.hh
@@ -26,24 +26,24 @@
 #define DUMUX_POINTSOURCE_HH
 
 #include <dumux/common/boundingboxtree.hh>
+#include <dumux/common/parameters.hh>
+#include <dumux/common/propertysystem.hh>
 
 namespace Dumux
 {
 
 namespace Properties
 {
-
 // Property forward declarations
-NEW_PROP_TAG(Scalar);
+NEW_PROP_TAG(ElementVolumeVariables);
+NEW_PROP_TAG(FVElementGeometry);
 NEW_PROP_TAG(GridView);
+NEW_PROP_TAG(ImplicitIsBox);
+NEW_PROP_TAG(PointSource);
 NEW_PROP_TAG(PrimaryVariables);
 NEW_PROP_TAG(Problem);
-NEW_PROP_TAG(FVElementGeometry);
-NEW_PROP_TAG(ElementVolumeVariables);
-NEW_PROP_TAG(PointSource);
-NEW_PROP_TAG(ImplicitIsBox);
+NEW_PROP_TAG(Scalar);
 NEW_PROP_TAG(TimeManager);
-
 } // end namespace Properties
 
 // forward declarations
diff --git a/dumux/io/cpgridcreator.hh b/dumux/io/cpgridcreator.hh
index d05dc637834ceee4d319f3c72e4acb5532709a53..11e7ff92b0fa92e2a004a0bd3bed87b53bcfed55 100644
--- a/dumux/io/cpgridcreator.hh
+++ b/dumux/io/cpgridcreator.hh
@@ -24,6 +24,7 @@
 #ifndef DUMUX_CPGRID_CREATOR_HH
 #define DUMUX_CPGRID_CREATOR_HH
 
+#if (HAVE_DUNE_CORNERPOINT && HAVE_OPM_PARSER)
 #include <dune/grid/CpGrid.hpp>
 #include <opm/parser/eclipse/Parser/Parser.hpp>
 #include <opm/parser/eclipse/Deck/Deck.hpp>
@@ -101,5 +102,6 @@ public:
     }
 };
 }
+#endif // (HAVE_DUNE_CORNERPOINT && HAVE_OPM_PARSER)
 
 #endif
diff --git a/dumux/multidomain/2cnistokes2p2cni/2p2cnicouplinglocalresidual.hh b/dumux/multidomain/2cnistokes2p2cni/2p2cnicouplinglocalresidual.hh
index be851508dd0afca5fd956010104477b86814766d..4d284078cd62593f7cc3223231076cf0bcdbeaff 100644
--- a/dumux/multidomain/2cnistokes2p2cni/2p2cnicouplinglocalresidual.hh
+++ b/dumux/multidomain/2cnistokes2p2cni/2p2cnicouplinglocalresidual.hh
@@ -27,6 +27,7 @@
 #include <dune/common/deprecated.hh>
 
 #include <dumux/porousmediumflow/nonisothermal/implicit/localresidual.hh>
+#include <dumux/porousmediumflow/2p2c/implicit/indices.hh>
 #include <dumux/porousmediumflow/2p2c/implicit/properties.hh>
 
 namespace Dumux
diff --git a/dumux/multidomain/2cstokes2p2c/2p2ccouplinglocalresidual.hh b/dumux/multidomain/2cstokes2p2c/2p2ccouplinglocalresidual.hh
index 2ed3755b6082603b38652c3a4f6c8c0d53c2071c..05aba53831658a27845524469e54fa285a854ba6 100644
--- a/dumux/multidomain/2cstokes2p2c/2p2ccouplinglocalresidual.hh
+++ b/dumux/multidomain/2cstokes2p2c/2p2ccouplinglocalresidual.hh
@@ -26,6 +26,7 @@
 
 #include <dune/common/deprecated.hh>
 
+#include <dumux/porousmediumflow/2p2c/implicit/indices.hh>
 #include <dumux/porousmediumflow/2p2c/implicit/localresidual.hh>
 #include <dumux/porousmediumflow/2p2c/implicit/properties.hh>
 
diff --git a/dumux/nonlinear/newtoncontroller.hh b/dumux/nonlinear/newtoncontroller.hh
index 1e9ee4f23366efc4918b226f927d379fe8da9fd1..a72471cad8511ac638ddbc0da6cd9c0e47511e1d 100644
--- a/dumux/nonlinear/newtoncontroller.hh
+++ b/dumux/nonlinear/newtoncontroller.hh
@@ -25,6 +25,7 @@
 #ifndef DUMUX_NEWTON_CONTROLLER_HH
 #define DUMUX_NEWTON_CONTROLLER_HH
 
+#include <dumux/common/basicproperties.hh>
 #include <dumux/common/propertysystem.hh>
 #include <dumux/common/exceptions.hh>
 #include <dumux/common/math.hh>
@@ -32,6 +33,7 @@
 #include <dumux/linear/seqsolverbackend.hh>
 
 #include "newtonconvergencewriter.hh"
+#include "newtonmethod.hh"
 
 namespace Dumux
 {
@@ -69,6 +71,11 @@ NEW_PROP_TAG(NewtonWriteConvergence);
 //! if the current solution deviates too much from the evaluation point
 NEW_PROP_TAG(ImplicitEnablePartialReassemble);
 
+//! Specify whether the jacobian matrix of the last iteration of a
+//! time step should be re-used as the jacobian of the first iteration
+//! of the next time step.
+NEW_PROP_TAG(ImplicitEnableJacobianRecycling);
+
 /*!
  * \brief Specifies whether the update should be done using the line search
  *        method instead of the plain Newton method.
diff --git a/dumux/nonlinear/newtonconvergencewriter.hh b/dumux/nonlinear/newtonconvergencewriter.hh
index 224539f2c8cdcd8c09755a7307868df2d2af22a6..9517d365b7ca6a28ec2b3dd619e118a0a7a08548 100644
--- a/dumux/nonlinear/newtonconvergencewriter.hh
+++ b/dumux/nonlinear/newtonconvergencewriter.hh
@@ -25,10 +25,18 @@
 #ifndef DUMUX_NEWTON_CONVERGENCE_WRITER_HH
 #define DUMUX_NEWTON_CONVERGENCE_WRITER_HH
 
+#include <dumux/common/basicproperties.hh>
 #include "newtoncontroller.hh"
 
 namespace Dumux
 {
+
+namespace Properties
+{
+NEW_PROP_TAG(NewtonController);
+NEW_PROP_TAG(SolutionVector);
+}
+
 /*!
  * \ingroup Newton
  * \brief Writes the intermediate solutions during
diff --git a/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh b/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh
index 15f4a74d66ad0a323c72ee23a533ff0cd1579b22..1d50dc14fd63bbd8d0d1429f8ad7e2f53db06d8f 100644
--- a/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh
+++ b/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh
@@ -60,8 +60,8 @@ NEW_TYPE_TAG(FVPressureVelocityOneP, INHERITS_FROM(PressureOneP));
 }
 }
 
-#include "fvvelocity1p.hh"
-#include "fvpressurevelocity1p.hh"
+#include "velocity.hh"
+#include "pressurevelocity.hh"
 
 namespace Dumux
 {
diff --git a/dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh b/dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh
index 7d5ca1e36602920f5a71698a5948ef638431b5e7..0ee673447793f0f1b915f71d53148b87f9260d0d 100644
--- a/dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh
+++ b/dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh
@@ -60,8 +60,8 @@ NEW_TYPE_TAG(FVPressureVelocityTwoP, INHERITS_FROM(PressureTwoP));
 }
 }
 
-#include "fvvelocity2p.hh"
-#include "fvpressurevelocity2p.hh"
+#include "velocity.hh"
+#include "pressurevelocity.hh"
 
 namespace Dumux
 {
diff --git a/test/multidomain/2cnistokes2p2cni/stokes2cnisubproblem.hh b/test/multidomain/2cnistokes2p2cni/stokes2cnisubproblem.hh
index 6fc08b9ba642327c88e8fcddc94e34f0a0d369af..42fe8826eda3dd351cf6d14ed66e9cd6339122e0 100644
--- a/test/multidomain/2cnistokes2p2cni/stokes2cnisubproblem.hh
+++ b/test/multidomain/2cnistokes2p2cni/stokes2cnisubproblem.hh
@@ -48,11 +48,6 @@ SET_TYPE_PROP(Stokes2cniSubProblem, Problem, Dumux::Stokes2cniSubProblem<TypeTag
 // Use the Stokes2cniCouplingLocalResidual for the computation of the local residual in the Stokes domain
 SET_TYPE_PROP(Stokes2cniSubProblem, LocalResidual, StokesncniCouplingLocalResidual<TypeTag>);
 
-// Set the property for the material parameters by extracting it from the material law.
-SET_TYPE_PROP(Stokes2cniSubProblem,
-              MaterialLawParams,
-              typename GET_PROP_TYPE(TypeTag, MaterialLaw)::Params);
-
 // Used the fluid system from the coupled problem
 SET_TYPE_PROP(Stokes2cniSubProblem,
               FluidSystem,
diff --git a/test/multidomain/2cnizeroeq2p2cni/zeroeq2cnisubproblem.hh b/test/multidomain/2cnizeroeq2p2cni/zeroeq2cnisubproblem.hh
index 15f52e7cb0d0b29c3df1578e93f946b9e81a50d3..1ee01339a7702691092a2b16684d525a8ca9fb6b 100644
--- a/test/multidomain/2cnizeroeq2p2cni/zeroeq2cnisubproblem.hh
+++ b/test/multidomain/2cnizeroeq2p2cni/zeroeq2cnisubproblem.hh
@@ -45,11 +45,6 @@ SET_TYPE_PROP(ZeroEq2cniSubProblem, Problem, Dumux::ZeroEq2cniSubProblem<TypeTag
 // Use the StokesncniCouplingLocalResidual for the computation of the local residual in the ZeroEq domain
 SET_TYPE_PROP(ZeroEq2cniSubProblem, LocalResidual, StokesncniCouplingLocalResidual<TypeTag>);
 
-// Set the property for the material parameters by extracting it from the material law.
-SET_TYPE_PROP(ZeroEq2cniSubProblem,
-              MaterialLawParams,
-              typename GET_PROP_TYPE(TypeTag, MaterialLaw)::Params);
-
 // Use the fluid system from the coupled problem
 SET_TYPE_PROP(ZeroEq2cniSubProblem,
               FluidSystem,
diff --git a/test/multidomain/2cstokes2p2c/stokes2csubproblem.hh b/test/multidomain/2cstokes2p2c/stokes2csubproblem.hh
index 9c2d290d7274badb83b3a21e38edae54ce40c7a0..cb9245a02614cb5799363446da4d085dbd6092a8 100644
--- a/test/multidomain/2cstokes2p2c/stokes2csubproblem.hh
+++ b/test/multidomain/2cstokes2p2c/stokes2csubproblem.hh
@@ -42,11 +42,6 @@ NEW_TYPE_TAG(Stokes2cSubProblem,
 // Set the problem property
 SET_TYPE_PROP(Stokes2cSubProblem, Problem, Dumux::Stokes2cSubProblem<TypeTag>);
 
-// Set the property for the material parameters by extracting it from the material law.
-SET_TYPE_PROP(Stokes2cSubProblem,
-              MaterialLawParams,
-              typename GET_PROP_TYPE(TypeTag, MaterialLaw)::Params);
-
 // Use the local residual extended for the coupling the local residual extended for the coupling
 SET_TYPE_PROP(Stokes2cSubProblem, LocalResidual, StokesncCouplingLocalResidual<TypeTag>);
 
diff --git a/test/multidomain/2czeroeq2p2c/zeroeq2csubproblem.hh b/test/multidomain/2czeroeq2p2c/zeroeq2csubproblem.hh
index 82d4bbb4f651da1db08b01e5a1eac037be0345d0..dcad6889d6ffbbfbd7095923da93974c4046a712 100644
--- a/test/multidomain/2czeroeq2p2c/zeroeq2csubproblem.hh
+++ b/test/multidomain/2czeroeq2p2c/zeroeq2csubproblem.hh
@@ -42,11 +42,6 @@ NEW_TYPE_TAG(ZeroEq2cSubProblem,
 // Set the problem property
 SET_TYPE_PROP(ZeroEq2cSubProblem, Problem, Dumux::ZeroEq2cSubProblem<TypeTag>);
 
-// Set the property for the material parameters by extracting it from the material law.
-SET_TYPE_PROP(ZeroEq2cSubProblem,
-              MaterialLawParams,
-              typename GET_PROP_TYPE(TypeTag, MaterialLaw)::Params);
-
 // Use the StokencCouplingLocalResidual for the computation of the local residual in the ZeroEq domain
 SET_TYPE_PROP(ZeroEq2cSubProblem, LocalResidual,
               StokesncCouplingLocalResidual<TypeTag>);
diff --git a/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh b/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
index b69a6f0fd3d69cee5273eda28da26adf526370e9..e84dc1933c0661c9d49e034fa0d9b80d4effe717 100644
--- a/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
+++ b/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
@@ -19,6 +19,7 @@
 #ifndef DUMUX_CC2P_CORNERPOINT_PROBLEM_HH
 #define DUMUX_CC2P_CORNERPOINT_PROBLEM_HH
 
+#if HAVE_DUNE_CORNERPOINT
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/components/dnapl.hh>
 #include <dumux/porousmediumflow/2p/implicit/model.hh>
@@ -340,4 +341,6 @@ private:
 };
 } //end namespace
 
+#endif // HAVE_DUNE_CORNERPOINT
+
 #endif
diff --git a/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc b/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc
index 38ba04bd0968a60753a027dda7ca0388c1a4786b..54b4b21099adbd61b7c68fd81ccd484b12652853 100644
--- a/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc
+++ b/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc
@@ -23,9 +23,13 @@
  * a cornerpoint grid.
  */
 #include <config.h>
+
+#if (HAVE_DUNE_CORNERPOINT && HAVE_OPM_CORE && HAVE_OPM_PARSER)
+
 #include "cc2pcornerpointproblem.hh"
 #include <dumux/common/start.hh>
 #include <opm/core/io/eclipse/EclipseGridInspector.hpp>
+
 /*!
  * \brief Provides an interface for customizing error messages associated with
  *        reading in parameters.
@@ -60,4 +64,11 @@ int main(int argc, char** argv)
 {
     typedef TTAG(CC2PCornerPointProblem) TypeTag;
     return Dumux::start<TypeTag>(argc, argv, usage);
+#else
+int main(int argc, char** argv)
+{
+#warning You need to have dune-cornerpoint, opm-core and opm-parser installed to run this test
+    std::cerr << "You need to have dune-cornerpoint, opm-core and opm-parser installed to run this test\n";
+    return 77;
 }
+#endif
diff --git a/tutorial/solutions_decoupled/ex5_tutorialspatialparams_decoupled.hh b/tutorial/solutions_decoupled/ex5_tutorialspatialparams_decoupled.hh
index 079c33649ab5112993a23e0788d36da1ffdd14e7..3419ca563fb5d7def1dff3b22463fb925b2ed1c5 100644
--- a/tutorial/solutions_decoupled/ex5_tutorialspatialparams_decoupled.hh
+++ b/tutorial/solutions_decoupled/ex5_tutorialspatialparams_decoupled.hh
@@ -22,7 +22,7 @@
  * \brief spatial parameters for the sequential tutorial
  */
 #ifndef DUMUX_TUTORIAL_EX5_SPATIAL_PARAMS_DECOUPLED_HH
-#define DUMUX_TUTORIAL_EX%_SPATIAL_PARAMS_DECOUPLED_HH
+#define DUMUX_TUTORIAL_EX5_SPATIAL_PARAMS_DECOUPLED_HH
 
 
 #include <dumux/material/spatialparams/fv.hh>