diff --git a/dumux/porousmediumflow/1pncmin/implicit/model.hh b/dumux/porousmediumflow/1pncmin/implicit/model.hh
index b783605fde7545b97c4b35c1b450f9349bc8fded..c5250870a379c6dcad0155e4ccff11e6db3efdd6 100644
--- a/dumux/porousmediumflow/1pncmin/implicit/model.hh
+++ b/dumux/porousmediumflow/1pncmin/implicit/model.hh
@@ -30,7 +30,6 @@
 #include "localresidual.hh"
 
 #include <dumux/porousmediumflow/1pnc/implicit/model.hh>
-#include <dumux/porousmediumflow/implicit/velocityoutput.hh>
 
 namespace Dumux
 {
diff --git a/dumux/porousmediumflow/3pwateroil/model.hh b/dumux/porousmediumflow/3pwateroil/model.hh
index 02d0582309e5bcb8f5d33c042980b6c67bbecf5f..3ae7a164d077430b25209212a1f42d110b14ba6a 100644
--- a/dumux/porousmediumflow/3pwateroil/model.hh
+++ b/dumux/porousmediumflow/3pwateroil/model.hh
@@ -27,8 +27,6 @@
 #ifndef DUMUX_3PWATEROIL_MODEL_HH
 #define DUMUX_3PWATEROIL_MODEL_HH
 
-#include <dumux/porousmediumflow/implicit/velocityoutput.hh>
-
 #include "properties.hh"
 
 namespace Dumux
diff --git a/dumux/porousmediumflow/CMakeLists.txt b/dumux/porousmediumflow/CMakeLists.txt
index 602b161d2cd7cea9d5835beb6a9ed6c3ee36d2ea..72d29d38d12058273311cda4da365d4b0203e9b6 100644
--- a/dumux/porousmediumflow/CMakeLists.txt
+++ b/dumux/porousmediumflow/CMakeLists.txt
@@ -11,7 +11,6 @@ add_subdirectory("3p3c")
 add_subdirectory("co2")
 add_subdirectory("compositional")
 add_subdirectory("immiscible")
-add_subdirectory("implicit")
 add_subdirectory("mineralization")
 add_subdirectory("mpnc")
 add_subdirectory("nonisothermal")
diff --git a/dumux/porousmediumflow/implicit/fluxvariables.hh b/dumux/porousmediumflow/fluxvariables.hh
similarity index 93%
rename from dumux/porousmediumflow/implicit/fluxvariables.hh
rename to dumux/porousmediumflow/fluxvariables.hh
index ea32e2db3b406382849a109c4571155eeab1b15d..f928453830ceec24098845f4f550183399dbed39 100644
--- a/dumux/porousmediumflow/implicit/fluxvariables.hh
+++ b/dumux/porousmediumflow/fluxvariables.hh
@@ -18,27 +18,17 @@
  *****************************************************************************/
 /*!
  * \file
- * \brief Base class for the flux variables
+ * \brief Base class for the flux variables in porous medium models
  */
-#ifndef DUMUX_POROUSMEDIUMFLOW_IMPLICIT_FLUXVARIABLES_HH
-#define DUMUX_POROUSMEDIUMFLOW_IMPLICIT_FLUXVARIABLES_HH
+#ifndef DUMUX_POROUSMEDIUMFLOW_FLUXVARIABLES_HH
+#define DUMUX_POROUSMEDIUMFLOW_FLUXVARIABLES_HH
 
+#include <dumux/common/properties.hh>
 #include <dumux/discretization/fluxvariablesbase.hh>
-#include <dumux/discretization/methods.hh>
 
 namespace Dumux
 {
 
-namespace Properties
-{
-// forward declaration
-NEW_PROP_TAG(NumPhases);
-NEW_PROP_TAG(NumComponents);
-NEW_PROP_TAG(EnableAdvection);
-NEW_PROP_TAG(EnableMolecularDiffusion);
-NEW_PROP_TAG(EnableEnergyBalance);
-}
-
 /*!
  * \ingroup ImplicitModel
  * \brief The porous medium flux variables class that computes advective / convective,
diff --git a/dumux/porousmediumflow/implicit/fluxvariablescache.hh b/dumux/porousmediumflow/fluxvariablescache.hh
similarity index 97%
rename from dumux/porousmediumflow/implicit/fluxvariablescache.hh
rename to dumux/porousmediumflow/fluxvariablescache.hh
index cd568b12e09fd795907dcc8b6051c7fb9c20eaa0..4edfbaf182bc0229ca31e84e6d2395362a129239 100644
--- a/dumux/porousmediumflow/implicit/fluxvariablescache.hh
+++ b/dumux/porousmediumflow/fluxvariablescache.hh
@@ -20,10 +20,12 @@
  * \file
  * \brief Base class for the flux variables
  */
-#ifndef DUMUX_POROUSMEDIUM_IMPLICIT_FLUXVARIABLESCACHE_HH
-#define DUMUX_POROUSMEDIUM_IMPLICIT_FLUXVARIABLESCACHE_HH
+#ifndef DUMUX_POROUSMEDIUM_FLUXVARIABLESCACHE_HH
+#define DUMUX_POROUSMEDIUM_FLUXVARIABLESCACHE_HH
 
 #include <dune/localfunctions/lagrange/pqkfactory.hh>
+
+#include <dumux/common/properties.hh>
 #include <dumux/discretization/methods.hh>
 #include <dumux/discretization/fluxvariablescaching.hh>
 
@@ -33,12 +35,6 @@ namespace Dumux
 template<class TypeTag, DiscretizationMethods Method>
 class PorousMediumFluxVariablesCacheImplementation;
 
-namespace Properties
-{
-// forward declaration
-NEW_PROP_TAG(NumPhases);
-}
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //! The cache is dependent on the active physical processes (advection, diffusion, heat conduction)
 //! For each type of process there is a base cache storing the data required to compute the respective fluxes
diff --git a/dumux/porousmediumflow/implicit/CMakeLists.txt b/dumux/porousmediumflow/implicit/CMakeLists.txt
deleted file mode 100644
index e80d7ffae907969199d9f5e8a38a5f650f8fb3e5..0000000000000000000000000000000000000000
--- a/dumux/porousmediumflow/implicit/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#install headers
-install(FILES
-fluxvariables.hh
-fluxvariablescache.hh
-velocityoutput.hh
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/porousmediumflow/implicit)
diff --git a/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh b/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh
index 58b68332ebe5c0b8cd1dad1477d0f48d275be3b4..81753f063b9adf0f76a769ab5ae3698886503cd8 100644
--- a/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh
+++ b/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh
@@ -25,7 +25,6 @@
 #ifndef DUMUX_MPNC_VTK_WRITER_COMMON_HH
 #define DUMUX_MPNC_VTK_WRITER_COMMON_HH
 
-#include <dumux/porousmediumflow/implicit/velocityoutput.hh>
 #include "vtkwritermodule.hh"
 
 namespace Dumux
diff --git a/dumux/porousmediumflow/properties.hh b/dumux/porousmediumflow/properties.hh
index 42b45e9cf1c9b0473481fad56d34592dc53d49ec..005f69413d1a8a9b2f0516b56a2b42b6de634acb 100644
--- a/dumux/porousmediumflow/properties.hh
+++ b/dumux/porousmediumflow/properties.hh
@@ -30,11 +30,11 @@
 #include <dumux/common/properties/model.hh>
 #include <dumux/io/vtkoutputmodule.hh>
 
-#include <dumux/porousmediumflow/implicit/fluxvariables.hh>
-#include <dumux/porousmediumflow/implicit/fluxvariablescache.hh>
+#include <dumux/porousmediumflow/fluxvariables.hh>
+#include <dumux/porousmediumflow/fluxvariablescache.hh>
 #include <dumux/porousmediumflow/nonisothermal/implicit/localresidual.hh>
 #include <dumux/porousmediumflow/compositional/primaryvariableswitch.hh>
-#include <dumux/porousmediumflow/implicit/velocityoutput.hh>
+#include <dumux/porousmediumflow/velocityoutput.hh>
 
 #include <dumux/discretization/darcyslaw.hh>
 #include <dumux/discretization/fickslaw.hh>
@@ -74,7 +74,7 @@ SET_BOOL_PROP(PorousMediumFlow, EvaluatePermeabilityAtScvfIP, false);
 SET_TYPE_PROP(PorousMediumFlow, EnergyLocalResidual, EnergyLocalResidual<TypeTag> );
 
 //! Velocity output
-SET_TYPE_PROP(PorousMediumFlow, VelocityOutput, ImplicitVelocityOutput<TypeTag>);
+SET_TYPE_PROP(PorousMediumFlow, VelocityOutput, PorousMediumFlowVelocityOutput<TypeTag>);
 
 //! By default, we set an empty primary variables switch
 SET_TYPE_PROP(PorousMediumFlow, PrimaryVariableSwitch, NoPrimaryVariableSwitch<TypeTag>);
diff --git a/dumux/porousmediumflow/implicit/velocityoutput.hh b/dumux/porousmediumflow/velocityoutput.hh
similarity index 97%
rename from dumux/porousmediumflow/implicit/velocityoutput.hh
rename to dumux/porousmediumflow/velocityoutput.hh
index c68528f7a2d696608e53fb73907a04345972ad71..f212f1ca2dc0ec73680bd6784c0160bf8ffb96a0 100644
--- a/dumux/porousmediumflow/implicit/velocityoutput.hh
+++ b/dumux/porousmediumflow/velocityoutput.hh
@@ -19,15 +19,16 @@
 /*!
  * \file
  *
- * \brief Velocity output for implicit (porous media) models
+ * \brief Velocity output for porous media models
  */
-#ifndef DUMUX_IMPLICIT_VELOCITYOUTPUT_HH
-#define DUMUX_IMPLICIT_VELOCITYOUTPUT_HH
+#ifndef DUMUX_POROUSMEDIUMFLOW_VELOCITYOUTPUT_HH
+#define DUMUX_POROUSMEDIUMFLOW_VELOCITYOUTPUT_HH
 
 #include <dune/common/fvector.hh>
 #include <dune/istl/bvector.hh>
 #include <dune/geometry/referenceelements.hh>
 
+#include <dumux/common/properties.hh>
 #include <dumux/discretization/methods.hh>
 
 namespace Dumux
@@ -37,7 +38,7 @@ namespace Dumux
  * \brief Velocity output for implicit (porous media) models
  */
 template<class TypeTag>
-class ImplicitVelocityOutput
+class PorousMediumFlowVelocityOutput
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
@@ -75,10 +76,10 @@ public:
      *
      * \param problem The problem to be solved
      */
-    ImplicitVelocityOutput(const Problem& problem,
-                           const FVGridGeometry& fvGridGeometry,
-                           const GridVariables& gridVariables,
-                           const SolutionVector& sol)
+    PorousMediumFlowVelocityOutput(const Problem& problem,
+                                   const FVGridGeometry& fvGridGeometry,
+                                   const GridVariables& gridVariables,
+                                   const SolutionVector& sol)
     : problem_(problem)
     , fvGridGeometry_(fvGridGeometry)
     , gridVariables_(gridVariables)