diff --git a/dumux/common/properties.hh b/dumux/common/properties.hh
index 09834c0c15f955b70b71540ab8f3ec92be739d53..b388c0710757ca90419df6e355388a8526b92c57 100644
--- a/dumux/common/properties.hh
+++ b/dumux/common/properties.hh
@@ -128,7 +128,6 @@ NEW_PROP_TAG(PhaseIdx);                            //! A phase index to allow us
 NEW_PROP_TAG(NumComponents);                       //! Number of fluid phases in the system
 NEW_PROP_TAG(SpatialParams);                       //! The type of the spatial parameters object
 NEW_PROP_TAG(FluidSystem);                         //! The type of the fluid system to use
-NEW_PROP_TAG(Fluid);                               //! The fluid used for the default fluid system
 NEW_PROP_TAG(FluidState);                          //! The type of the fluid state to use
 NEW_PROP_TAG(PrimaryVariableSwitch);               //! The primary variable switch needed for compositional models
 NEW_PROP_TAG(EffectiveDiffusivityModel);           //! The employed model for the computation of the effective diffusivity
diff --git a/dumux/freeflow/staggered/properties.hh b/dumux/freeflow/staggered/properties.hh
index 336ddcac10fbc50358786fcdc5a604ac1702cfa5..dc5cb797456e561515f3f0ba645030bac80ffe0a 100644
--- a/dumux/freeflow/staggered/properties.hh
+++ b/dumux/freeflow/staggered/properties.hh
@@ -84,16 +84,6 @@ SET_INT_PROP(NavierStokes, NumEqCellCenter, 1); //! set the number of equations
 SET_INT_PROP(NavierStokes, NumPhases, 1); //! The number of phases in the 1p model is 1
 SET_INT_PROP(NavierStokes, NumComponents, 1); //! The number of components in the 1p model is 1
 
-//! The fluid system to use by default
-SET_TYPE_PROP(NavierStokes, FluidSystem, Dumux::FluidSystems::OneP<typename GET_PROP_TYPE(TypeTag, Scalar), typename GET_PROP_TYPE(TypeTag, Fluid)>);
-
-SET_PROP(NavierStokes, Fluid)
-{ private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Dumux::NullComponent<Scalar> > type;
-};
-
 /*!
  * \brief The fluid state which is used by the volume variables to
  *        store the thermodynamic state. This should be chosen
diff --git a/dumux/material/fluidsystems/1p.hh b/dumux/material/fluidsystems/1p.hh
index 512b661b16fd07981329b2efb5b9d76f2f28d2ed..bf774b9ca2273a90a80b007a6fe9cd216daddc4b 100644
--- a/dumux/material/fluidsystems/1p.hh
+++ b/dumux/material/fluidsystems/1p.hh
@@ -39,18 +39,20 @@ namespace FluidSystems {
  * \brief A fluid system for single phase models.
  *
  * \tparam Scalar the scalar type
- * \tparam Fluid The fluid is defined as a template parameter. For existing
+ * \tparam FluidType The fluid is defined as a template parameter. For existing
  * fluids the FluidSystems::LiquidPhase<Component> and
  * FluidSystems::GasPhase<Component> may be used.
  */
-template <class Scalar, class Fluid>
+template <class Scalar, class FluidType>
 class OneP
-    : public BaseFluidSystem<Scalar, OneP<Scalar, Fluid> >
+    : public BaseFluidSystem<Scalar, OneP<Scalar, FluidType> >
 {
-    typedef OneP<Scalar, Fluid> ThisType;
+    typedef OneP<Scalar, FluidType> ThisType;
     typedef BaseFluidSystem<Scalar, ThisType> Base;
 
 public:
+    using Fluid = FluidType;
+
     /****************************************
      * Fluid phase related static parameters
      ****************************************/
@@ -63,7 +65,7 @@ public:
      *
      * \param phaseIdx The index of the fluid phase to consider
      */
-    static std::string phaseName(int phaseIdx)
+    static std::string phaseName(int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -75,7 +77,7 @@ public:
      *
      * \param phaseIdx The index of the fluid phase to consider
      */
-    static constexpr bool isLiquid(int phaseIdx)
+    static constexpr bool isLiquid(int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -91,7 +93,7 @@ public:
      *
      * \param phaseIdx The index of the fluid phase to consider
      */
-    static constexpr bool isCompressible(int phaseIdx)
+    static constexpr bool isCompressible(int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -102,7 +104,7 @@ public:
     /*!
      * \brief Returns true if the fluid viscosity is constant
      */
-    static constexpr bool viscosityIsConstant(int phaseIdx)
+    static constexpr bool viscosityIsConstant(int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -123,7 +125,7 @@ public:
      *
      * \param phaseIdx The index of the fluid phase to consider
      */
-    static bool isIdealMixture(int phaseIdx)
+    static bool isIdealMixture(int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -137,7 +139,7 @@ public:
      *
      * \param phaseIdx The index of the fluid phase to consider
      */
-    static constexpr bool isIdealGas(int phaseIdx)
+    static constexpr bool isIdealGas(int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -157,7 +159,7 @@ public:
      *
      * \param compIdx The index of the component to consider
      */
-    static std::string componentName(int compIdx)
+    static std::string componentName(int compIdx = 0)
     {
         assert(0 <= compIdx && compIdx < numComponents);
 
@@ -169,7 +171,7 @@ public:
      *
      * \param compIdx index of the component
      */
-    static Scalar molarMass(int compIdx)
+    static Scalar molarMass(int compIdx = 0)
     {
         assert(0 <= compIdx && compIdx < numComponents);
 
@@ -181,7 +183,7 @@ public:
      *
      * \param compIdx The index of the component to consider
      */
-    static Scalar criticalTemperature(int compIdx)
+    static Scalar criticalTemperature(int compIdx = 0)
     {
         assert(0 <= compIdx && compIdx < numComponents);
 
@@ -193,7 +195,7 @@ public:
      *
      * \param compIdx The index of the component to consider
      */
-    static Scalar criticalPressure(int compIdx)
+    static Scalar criticalPressure(int compIdx = 0)
     {
         assert(0 <= compIdx && compIdx < numComponents);
 
@@ -205,7 +207,7 @@ public:
      *
      * \param compIdx The index of the component to consider
      */
-    static Scalar acentricFactor(int compIdx)
+    static Scalar acentricFactor(int compIdx = 0)
     {
         assert(0 <= compIdx && compIdx < numComponents);
 
@@ -249,7 +251,7 @@ public:
      */
     template <class FluidState>
     static Scalar viscosity(const FluidState &fluidState,
-                            int phaseIdx)
+                            int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -271,8 +273,8 @@ public:
      */
     template <class FluidState>
     static Scalar fugacityCoefficient(const FluidState &fluidState,
-                                      int phaseIdx,
-                                      int compIdx)
+                                      int phaseIdx = 0,
+                                      int compIdx = 0)
     {
         assert(0 <= phaseIdx  && phaseIdx < numPhases);
         assert(0 <= compIdx  && compIdx < numComponents);
@@ -313,8 +315,8 @@ public:
      */
     template <class FluidState>
     static Scalar diffusionCoefficient(const FluidState &fluidState,
-                                       int phaseIdx,
-                                       int compIdx)
+                                       int phaseIdx = 0,
+                                       int compIdx = 0)
     {
         DUNE_THROW(Dune::InvalidStateException, "Not applicable: Diffusion coefficients");
     }
@@ -350,7 +352,7 @@ public:
      */
     template <class FluidState>
     static Scalar enthalpy(const FluidState &fluidState,
-                           int phaseIdx)
+                           int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -372,7 +374,7 @@ public:
      */
     template <class FluidState>
     static Scalar thermalConductivity(const FluidState &fluidState,
-                                      int phaseIdx)
+                                      int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -391,7 +393,7 @@ public:
      */
     template <class FluidState>
     static Scalar heatCapacity(const FluidState &fluidState,
-                               int phaseIdx)
+                               int phaseIdx = 0)
     {
         assert(0 <= phaseIdx && phaseIdx < numPhases);
 
@@ -399,7 +401,6 @@ public:
         Scalar pressure = fluidState.pressure(phaseIdx);
         return Fluid::heatCapacity(temperature, pressure);
     }
-
 };
 
 } // end namespace Properties
diff --git a/dumux/porousmediumflow/1p/implicit/properties.hh b/dumux/porousmediumflow/1p/implicit/properties.hh
index 1ca2dd451ed7bb8fd8f136a60a874f552a9297cb..e702353c790a82cb8ad6f057d89e74b3cd039eb6 100644
--- a/dumux/porousmediumflow/1p/implicit/properties.hh
+++ b/dumux/porousmediumflow/1p/implicit/properties.hh
@@ -64,21 +64,6 @@ SET_BOOL_PROP(OneP, EnableEnergyBalance, false);                      //! Isothe
 SET_TYPE_PROP(OneP, Indices, OnePIndices);                            //! The indices required by the isothermal single-phase model
 SET_TYPE_PROP(OneP, VtkOutputFields, OnePVtkOutputFields<TypeTag>);   //! Set the vtk output fields specific to this model
 
-//! The single-phase fluid system is used by default
-SET_TYPE_PROP(OneP,
-              FluidSystem,
-              FluidSystems::OneP<typename GET_PROP_TYPE(TypeTag, Scalar), typename GET_PROP_TYPE(TypeTag, Fluid)>);
-
-//! We set a fluid that only throws exceptions.
-//! This hopefully makes the user set this property correctly
-SET_PROP(OneP, Fluid)
-{
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, NullComponent<Scalar> > type;
-};
-
 /*!
  * \brief The fluid state which is used by the volume variables to
  *        store the thermodynamic state. This should be chosen
diff --git a/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressure.hh b/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressure.hh
index 3d0f53fbd241c8cf8ca698a8395835835ddf5988..e42036e252532df4cd944677c72af392ca5e8dfc 100644
--- a/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressure.hh
+++ b/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressure.hh
@@ -61,7 +61,7 @@ template<class TypeTag> class FVPressure1P: public FVPressure<TypeTag>
 
     typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
 
-    typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid;
+    typedef typename GET_PROP(TypeTag, FluidSystem)::Fluid;
 
     typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
     typedef typename GET_PROP(TypeTag, SolutionTypes) SolutionTypes;
diff --git a/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/velocity.hh b/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/velocity.hh
index eaf903ec20c8e5e51854694eb26d90f0b55c068d..3386543bf7f8383e54d8b352d52282bd616d0175 100644
--- a/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/velocity.hh
+++ b/dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/velocity.hh
@@ -52,7 +52,7 @@ class FVVelocity1P
 
     typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
 
-    typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid;
+    typedef typename GET_PROP(TypeTag, FluidSystem)::Fluid;
 
     typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
     typedef typename GET_PROP(TypeTag, SolutionTypes) SolutionTypes;
diff --git a/test/freeflow/staggered/channeltestproblem.hh b/test/freeflow/staggered/channeltestproblem.hh
index 7458858e06bfc5279b1fb46eb7f32959ce3a7df3..6efa1b79ac355d51352320119eb353418ffd6daf 100644
--- a/test/freeflow/staggered/channeltestproblem.hh
+++ b/test/freeflow/staggered/channeltestproblem.hh
@@ -29,6 +29,7 @@
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
 #include <dumux/material/components/constant.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include <dumux/discretization/staggered/properties.hh>
 #include <dumux/freeflow/staggered/properties.hh>
@@ -53,15 +54,14 @@ NEW_TYPE_TAG(ChannelTestProblem, INHERITS_FROM(StaggeredModel, NavierStokes));
 NEW_TYPE_TAG(ChannelTestProblem, INHERITS_FROM(StaggeredModel, NavierStokesNI));
 #endif
 
-SET_PROP(ChannelTestProblem, Fluid)
+// the fluid system
+SET_PROP(ChannelTestProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
 #if NONISOTHERMAL
-    using type = FluidSystems::LiquidPhase<Scalar, Dumux::SimpleH2O<Scalar> > ;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 #else
-    using type = FluidSystems::LiquidPhase<Scalar, Dumux::Components::Constant<1, Scalar> > ;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 #endif
 };
 
diff --git a/test/freeflow/staggered/closedsystemtestproblem.hh b/test/freeflow/staggered/closedsystemtestproblem.hh
index 755eb3ac7e1236eac04aa981107b565338ad39c1..ed70b62ee5358b6169d3dc37980117352cc88361 100644
--- a/test/freeflow/staggered/closedsystemtestproblem.hh
+++ b/test/freeflow/staggered/closedsystemtestproblem.hh
@@ -29,6 +29,7 @@
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
 #include <dumux/material/components/constant.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include <dumux/discretization/staggered/properties.hh>
 #include <dumux/freeflow/staggered/properties.hh>
@@ -49,12 +50,11 @@ namespace Properties
 {
 NEW_TYPE_TAG(ClosedSystemTestProblem, INHERITS_FROM(StaggeredModel, NavierStokes));
 
-SET_PROP(ClosedSystemTestProblem, Fluid)
+// the fluid system
+SET_PROP(ClosedSystemTestProblem, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Dumux::Components::Constant<1, Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the grid type
diff --git a/test/freeflow/staggered/doneatestproblem.hh b/test/freeflow/staggered/doneatestproblem.hh
index cff61768e66e2a85a3ef9008098318ea2db76597..77f0da896f00927e90e4c08ba2dfc77a1d71327a 100644
--- a/test/freeflow/staggered/doneatestproblem.hh
+++ b/test/freeflow/staggered/doneatestproblem.hh
@@ -31,7 +31,7 @@
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
 #include <dumux/material/components/constant.hh>
-
+#include <dumux/material/fluidsystems/1p.hh>
 #include <dumux/discretization/staggered/properties.hh>
 #include <dumux/freeflow/staggered/properties.hh>
 
@@ -52,12 +52,11 @@ namespace Properties
 {
 NEW_TYPE_TAG(DoneaTestProblem, INHERITS_FROM(StaggeredModel, NavierStokes));
 
-SET_PROP(DoneaTestProblem, Fluid)
+// the fluid system
+SET_PROP(DoneaTestProblem, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Dumux::Components::Constant<1, Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the grid type
diff --git a/test/freeflow/staggered/kovasznaytestproblem.hh b/test/freeflow/staggered/kovasznaytestproblem.hh
index 0bba7f84d98f610be57c0222793b819a27e92557..645503eae94807eb7f0501a75c2a419f4abb3e97 100644
--- a/test/freeflow/staggered/kovasznaytestproblem.hh
+++ b/test/freeflow/staggered/kovasznaytestproblem.hh
@@ -29,6 +29,7 @@
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
 #include <dumux/material/components/constant.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include <dumux/discretization/staggered/properties.hh>
 #include <dumux/freeflow/staggered/properties.hh>
@@ -53,12 +54,11 @@ namespace Properties
 {
 NEW_TYPE_TAG(KovasznayTestProblem, INHERITS_FROM(StaggeredModel, NavierStokes));
 
-SET_PROP(KovasznayTestProblem, Fluid)
+// the fluid system
+SET_PROP(KovasznayTestProblem, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Dumux::Components::Constant<1, Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the grid type
diff --git a/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh b/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh
index 94008c33294c58e0f877e7199489108af8255da6..84cdead243b5770f1a0ed02d54a02e0fff527d93 100644
--- a/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh
+++ b/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh
@@ -30,6 +30,7 @@
 #include <dumux/porousmediumflow/implicit/problem.hh>
 #include <dumux/material/components/constant.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 #include <dumux/linear/seqsolverbackend.hh>
 #include <dumux/mixeddimension/subproblemproperties.hh>
 #include "bloodflowspatialparams.hh"
@@ -53,12 +54,11 @@ SET_STRING_PROP(BloodFlowProblem, GridParameterGroup, "VesselGrid");
 // Set the problem property
 SET_TYPE_PROP(BloodFlowProblem, Problem, BloodFlowProblem<TypeTag>);
 
-SET_PROP(BloodFlowProblem, Fluid)
+// the fluid system
+SET_PROP(BloodFlowProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, Constant<TypeTag, Scalar>>;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the spatial parameters
diff --git a/test/mixeddimension/embedded/1p_1p/tissueproblem.hh b/test/mixeddimension/embedded/1p_1p/tissueproblem.hh
index 184ff676e60908be789ffeddbf7ff8eb56a470c3..235420d234f5e918555b343c4ff91223e6d9812e 100644
--- a/test/mixeddimension/embedded/1p_1p/tissueproblem.hh
+++ b/test/mixeddimension/embedded/1p_1p/tissueproblem.hh
@@ -34,6 +34,7 @@
 #include <dumux/porousmediumflow/implicit/problem.hh>
 #include <dumux/material/components/constant.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include <dumux/mixeddimension/subproblemproperties.hh>
 
@@ -66,12 +67,11 @@ SET_STRING_PROP(TissueProblem, GridParameterGroup, "TissueGrid");
 // Set the problem property
 SET_TYPE_PROP(TissueProblem, Problem, TissueProblem<TypeTag>);
 
-SET_PROP(TissueProblem, Fluid)
+// the fluid system
+SET_PROP(TissueProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, Constant<TypeTag, Scalar>>;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the spatial parameters
diff --git a/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh b/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh
index 1ccde43f9b79189ee4307fc4baf722a992b67de7..df622ec8b0adf06d04fd7d4931a9b32d5f066c4c 100644
--- a/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh
+++ b/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh
@@ -26,11 +26,12 @@
 
 #include <cmath>
 
-#include <dumux/implicit/cellcentered/tpfa/properties.hh>
+#include <dumux/discretization/cellcentered/tpfa/properties.hh>
 #include <dumux/porousmediumflow/implicit/problem.hh>
 #include <dumux/porousmediumflow/1p/implicit/model.hh>
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 //! get the properties needed for subproblems
 #include <dumux/mixeddimension/subproblemproperties.hh>
@@ -48,12 +49,11 @@ NEW_TYPE_TAG(RootsystemTestProblem, INHERITS_FROM(OneP));
 NEW_TYPE_TAG(RootsystemTestBoxProblem, INHERITS_FROM(BoxModel, RootsystemTestProblem));
 NEW_TYPE_TAG(RootsystemTestCCProblem, INHERITS_FROM(CCTpfaModel, RootsystemTestProblem));
 
-SET_PROP(RootsystemTestProblem, Fluid)
+// the fluid system
+SET_PROP(RootsystemTestProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar>>;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 };
 
 // Set the grid type
diff --git a/test/mixeddimension/facet/1p_1p/fractureproblem.hh b/test/mixeddimension/facet/1p_1p/fractureproblem.hh
index 981b50e564dc84c5e648dbe2d4f4ef33bb9651d8..81f746d263381c3f3e8a4ffac459b5e688eb3cbf 100644
--- a/test/mixeddimension/facet/1p_1p/fractureproblem.hh
+++ b/test/mixeddimension/facet/1p_1p/fractureproblem.hh
@@ -30,8 +30,9 @@
 #include <dumux/porousmediumflow/1p/implicit/model.hh>
 #include <dumux/porousmediumflow/implicit/problem.hh>
 
-#include <dumux/material/components/unit.hh>
+#include <dumux/material/components/constant.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include "fracturespatialparams.hh"
 
@@ -47,12 +48,11 @@ namespace Properties
 NEW_TYPE_TAG(OnePFractureProblem, INHERITS_FROM(OneP));
 NEW_TYPE_TAG(OnePCCFractureProblem, INHERITS_FROM(CCTpfaModel, OnePFractureProblem));
 
-SET_PROP(OnePFractureProblem, Fluid)
+// the fluid system
+SET_PROP(OnePFractureProblem, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Unit<Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the problem property
diff --git a/test/mixeddimension/facet/1p_1p/matrixproblem.hh b/test/mixeddimension/facet/1p_1p/matrixproblem.hh
index aa73176ec72b4aad17d48402f0d846657a85b3fd..898813104c2fa2b233b2e1d28e5b224d7fd5a6d3 100644
--- a/test/mixeddimension/facet/1p_1p/matrixproblem.hh
+++ b/test/mixeddimension/facet/1p_1p/matrixproblem.hh
@@ -33,6 +33,7 @@
 
 #include <dumux/material/components/unit.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include "matrixspatialparams.hh"
 
@@ -46,12 +47,11 @@ namespace Properties
 NEW_TYPE_TAG(OnePMatrixProblem, INHERITS_FROM(OneP));
 NEW_TYPE_TAG(OnePCCMpfaMatrixProblem, INHERITS_FROM(FacetCouplingBulkMpfaModel, OnePMatrixProblem));
 
-SET_PROP(OnePMatrixProblem, Fluid)
+// the fluid system
+SET_PROP(OnePFractureProblem, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Unit<Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the problem property
diff --git a/test/porousmediumflow/1p/implicit/1ptestproblem.hh b/test/porousmediumflow/1p/implicit/1ptestproblem.hh
index dd4ac4ff71e62bd57317ca77320ff2241876fed2..64dacce76e4270ad048aad0e749693233e56b589 100644
--- a/test/porousmediumflow/1p/implicit/1ptestproblem.hh
+++ b/test/porousmediumflow/1p/implicit/1ptestproblem.hh
@@ -32,6 +32,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include "1ptestspatialparams.hh"
 
@@ -47,12 +48,11 @@ NEW_TYPE_TAG(OnePTestBoxProblem, INHERITS_FROM(BoxModel, OnePTestProblem));
 NEW_TYPE_TAG(OnePTestCCTpfaProblem, INHERITS_FROM(CCTpfaModel, OnePTestProblem));
 NEW_TYPE_TAG(OnePTestCCMpfaProblem, INHERITS_FROM(CCMpfaModel, OnePTestProblem));
 
-SET_PROP(OnePTestProblem, Fluid)
+// the fluid system
+SET_PROP(OnePTestProblem, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 };
 
 // Set the grid type
diff --git a/test/porousmediumflow/1p/implicit/fractureproblem.hh b/test/porousmediumflow/1p/implicit/fractureproblem.hh
index 598e7bfd6994647ca6c4d8ce48f8e1622c645509..e84bcc3322d620c036ed266637166c96421f48c5 100644
--- a/test/porousmediumflow/1p/implicit/fractureproblem.hh
+++ b/test/porousmediumflow/1p/implicit/fractureproblem.hh
@@ -27,6 +27,7 @@
 #define DUMUX_ONEP_FRACTURE_TEST_PROBLEM_HH
 
 #include <dumux/material/components/simpleh2o.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 #include <dumux/porousmediumflow/1p/implicit/model.hh>
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/discretization/box/properties.hh>
@@ -59,13 +60,11 @@ SET_TYPE_PROP(FractureProblem, Grid, Dune::FoamGrid<2, 3>);
 // Set the problem property
 SET_TYPE_PROP(FractureProblem, Problem, Dumux::FractureProblem<TypeTag>);
 
-// The fluid type
-SET_PROP(FractureProblem, Fluid)
+// the fluid system
+SET_PROP(FractureProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar>>;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 };
 
 } // end namespace Properties
diff --git a/test/porousmediumflow/1p/implicit/incompressible/problem.hh b/test/porousmediumflow/1p/implicit/incompressible/problem.hh
index 87ad5c05d674a1b42dec5a6f342016aef91e7526..008c872ebef00726287fb36f3f8cf2420dbaeb3b 100644
--- a/test/porousmediumflow/1p/implicit/incompressible/problem.hh
+++ b/test/porousmediumflow/1p/implicit/incompressible/problem.hh
@@ -33,6 +33,7 @@
 
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include "spatialparams.hh"
 
@@ -62,12 +63,10 @@ SET_TYPE_PROP(OnePIncompressible, SpatialParams, OnePTestSpatialParams<TypeTag>)
 SET_TYPE_PROP(OnePIncompressible, LocalResidual, OnePIncompressibleLocalResidual<TypeTag>);
 
 // the fluid system
-SET_PROP(OnePIncompressible, Fluid)
+SET_PROP(OnePIncompressible, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> >;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 };
 
 // Enable caching
diff --git a/test/porousmediumflow/1p/implicit/pointsources/1psingularityproblem.hh b/test/porousmediumflow/1p/implicit/pointsources/1psingularityproblem.hh
index c2e14adb08ade98767e753edef83796cb626d1c7..09d0a4c5e6c5124f2ef32c7c552289e9584904ed 100644
--- a/test/porousmediumflow/1p/implicit/pointsources/1psingularityproblem.hh
+++ b/test/porousmediumflow/1p/implicit/pointsources/1psingularityproblem.hh
@@ -31,6 +31,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include "1psingularityspatialparams.hh"
 
@@ -45,12 +46,11 @@ NEW_TYPE_TAG(OnePSingularityTypeTag, INHERITS_FROM(OneP));
 NEW_TYPE_TAG(OnePSingularityBoxTypeTag, INHERITS_FROM(BoxModel, OnePSingularityTypeTag));
 NEW_TYPE_TAG(OnePSingularityCCTpfaTypeTag, INHERITS_FROM(CCTpfaModel, OnePSingularityTypeTag));
 
-SET_PROP(OnePSingularityTypeTag, Fluid)
+// the fluid system
+SET_PROP(OnePSingularityTypeTag, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 };
 
 // Set the grid type
diff --git a/test/porousmediumflow/1p/implicit/tubesproblem.hh b/test/porousmediumflow/1p/implicit/tubesproblem.hh
index 6b601eb815ba02d0248bec24cbf5ee2984759471..f1ff66323bcefa7995a5faab93b4d620309bd481 100644
--- a/test/porousmediumflow/1p/implicit/tubesproblem.hh
+++ b/test/porousmediumflow/1p/implicit/tubesproblem.hh
@@ -34,6 +34,7 @@
 #include <dumux/porousmediumflow/1p/implicit/model.hh>
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/material/components/constant.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include "tubesspatialparams.hh"
 
@@ -57,15 +58,13 @@ SET_TYPE_PROP(TubesTestProblem, Problem, TubesTestProblem<TypeTag>);
 // Set the spatial parameters
 SET_TYPE_PROP(TubesTestProblem, SpatialParams, TubesTestSpatialParams<TypeTag>);
 
-// the fluid
-SET_PROP(TubesTestProblem, Fluid)
+// the fluid system
+SET_PROP(TubesTestProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, Constant<TypeTag, Scalar>>;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
-}
+} // end namespace Properties
 
 /*!
  * \ingroup OnePModel
diff --git a/test/porousmediumflow/1p/sequential/test_1pproblem.hh b/test/porousmediumflow/1p/sequential/test_1pproblem.hh
index c754ea2afcdc4ee1feb47e4dfdadfba3791e9705..ae36d8e542f9e5135efec7b9ca34fd3980774099 100644
--- a/test/porousmediumflow/1p/sequential/test_1pproblem.hh
+++ b/test/porousmediumflow/1p/sequential/test_1pproblem.hh
@@ -26,6 +26,7 @@
 
 #include <dumux/material/fluidsystems/liquidphase.hh>
 #include <dumux/material/components/constant.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 
 #include <dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressureproperties.hh>
 #include <dumux/porousmediumflow/1p/sequential/diffusion/problem.hh>
@@ -49,13 +50,11 @@ NEW_TYPE_TAG(TestProblemOneP, INHERITS_FROM(FVPressureOneP));
 // Set the grid type
 SET_TYPE_PROP(TestProblemOneP, Grid, Dune::YaspGrid<2>);
 
-// Set the wetting phase
-SET_PROP(TestProblemOneP, Fluid)
+// the fluid system
+SET_PROP(TestProblemOneP, FluidSystem)
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-public:
-    typedef FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > type;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, Components::Constant<1, Scalar> > >;
 };
 
 // Set the spatial parameters
@@ -78,7 +77,7 @@ class TestProblemOneP: public DiffusionProblem1P<TypeTag >
 
     typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
 
-    typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid;
+    typedef typename GET_PROP(TypeTag, FluidSystems)::Fluid;
 
     typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
     typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
diff --git a/test/porousmediumflow/tracer/1ptracer/1ptestproblem.hh b/test/porousmediumflow/tracer/1ptracer/1ptestproblem.hh
index 5cd529a5d215f46b64efa3dab24643cbad96a5fe..cd4665add147aacbc88947082780616ce4729d97 100644
--- a/test/porousmediumflow/tracer/1ptracer/1ptestproblem.hh
+++ b/test/porousmediumflow/tracer/1ptracer/1ptestproblem.hh
@@ -26,6 +26,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/material/components/simpleh2o.hh>
 #include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/1p.hh>
 #include <dumux/implicit/cellcentered/tpfa/properties.hh>
 #include <dumux/porousmediumflow/1p/implicit/propertydefaults.hh>
 #include <dumux/porousmediumflow/1p/implicit/incompressiblelocalresidual.hh>
@@ -50,12 +51,10 @@ SET_TYPE_PROP(IncompressibleTestProblem, SpatialParams, OnePTestSpatialParams<Ty
 SET_TYPE_PROP(IncompressibleTestProblem, LocalResidual, OnePIncompressibleLocalResidual<TypeTag>);
 
 // the fluid system
-SET_PROP(IncompressibleTestProblem, Fluid)
+SET_PROP(IncompressibleTestProblem, FluidSystem)
 {
-private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-public:
-    using type = FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> >;
+    using type = FluidSystems::OneP<Scalar, FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> > >;
 };
 
 // Enable caching