diff --git a/.cproject b/.cproject
index af5b4a0bbd99bf8fa5795fac0ee2cdd899225c0c..89a0873e084f7a0d00b9950c1919d6259972f95c 100644
--- a/.cproject
+++ b/.cproject
@@ -5,26 +5,37 @@
 			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.2134791445" moduleId="org.eclipse.cdt.core.settings" name="Default">
 				<externalSettings/>
 				<extensions>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
 					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
 					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
 					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
 					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
 					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
 				</extensions>
 			</storageModule>
 			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration buildProperties="" id="cdt.managedbuild.toolchain.gnu.base.2134791445" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
+				<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.2134791445" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
 					<folderInfo id="cdt.managedbuild.toolchain.gnu.base.2134791445.1799170915" name="/" resourcePath="">
 						<toolChain id="cdt.managedbuild.toolchain.gnu.base.1762402759" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base">
 							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.840154721" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
-							<builder id="cdt.managedbuild.target.gnu.builder.base.573876641" managedBuildOn="false" name="Gnu Make Builder.Default" superClass="cdt.managedbuild.target.gnu.builder.base"/>
+							<builder id="cdt.managedbuild.target.gnu.builder.base.573876641" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>
 							<tool id="cdt.managedbuild.tool.gnu.archiver.base.958650307" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
-							<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1237330740" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base"/>
-							<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.315517693" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base"/>
+							<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1237330740" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
+								<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1856262209" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+							</tool>
+							<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.315517693" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
+								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.950045328" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+							</tool>
 							<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1786292703" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
-							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1133414639" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"/>
-							<tool id="cdt.managedbuild.tool.gnu.assembler.base.336757143" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base"/>
+							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1133414639" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
+								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.692614544" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+								</inputType>
+							</tool>
+							<tool id="cdt.managedbuild.tool.gnu.assembler.base.336757143" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
+								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1329383797" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+							</tool>
 						</toolChain>
 					</folderInfo>
 				</configuration>
diff --git a/examples/heat-equation/heatEquationSetter.h b/examples/heat-equation/heatEquationSetter.h
index 10b011ed4eb08191e1007308c997a36063520a26..222dd32664ff68c7f2b324c008bbc74e218b32ea 100644
--- a/examples/heat-equation/heatEquationSetter.h
+++ b/examples/heat-equation/heatEquationSetter.h
@@ -26,7 +26,7 @@
 #include <functions/tnlSinBumpsFunction.h>
 #include "tnlTimeFunction.h"
 #include "tnlDirichletBoundaryConditions.h"
-#include <schemes/diffusion/tnlLinearDiffusion.h>
+#include <operators/diffusion/tnlLinearDiffusion.h>
 #include "tnlNeumannBoundaryConditions.h"
 #include "tnlZeroRightHandSide.h"
 #include "tnlRightHandSide.h"
diff --git a/examples/heat-equation/heatEquationSetter_impl.h b/examples/heat-equation/heatEquationSetter_impl.h
index ed7910d468e4fd395f2884958c4612ba15d5bf6d..c3b49ef661b7662215d7a168af6876d9174563c8 100644
--- a/examples/heat-equation/heatEquationSetter_impl.h
+++ b/examples/heat-equation/heatEquationSetter_impl.h
@@ -21,7 +21,7 @@
 #include "heatEquationSetter.h"
 #include "heatEquationSolver.h"
 #include <functions/tnlTestFunction.h>
-#include <schemes/diffusion/tnlLinearDiffusion.h>
+#include <operators/diffusion/tnlLinearDiffusion.h>
 #include "tnlDirichletBoundaryConditions.h"
 #include "tnlRightHandSide.h"
 
diff --git a/examples/navier-stokes/navierStokesSetter_impl.h b/examples/navier-stokes/navierStokesSetter_impl.h
index cfe5cadaa2c3859227291787dbde658e0c2ec05e..0ef147df67ea0b4a492943f340a7b856f3d05483 100644
--- a/examples/navier-stokes/navierStokesSetter_impl.h
+++ b/examples/navier-stokes/navierStokesSetter_impl.h
@@ -20,8 +20,8 @@
 
 #include <mesh/tnlGrid.h>
 #include <mesh/tnlLinearGridGeometry.h>
-#include <schemes/euler/fvm/tnlLaxFridrichs.h>
-#include <schemes/gradient/tnlCentralFDMGradient.h>
+#include <operators/euler/fvm/tnlLaxFridrichs.h>
+#include <operators/gradient/tnlCentralFDMGradient.h>
 
 template< typename MeshType, typename SolverStarter >
    template< typename RealType,
diff --git a/examples/navier-stokes/navierStokesSolver.h b/examples/navier-stokes/navierStokesSolver.h
index 9fe08ec3e313aeace13f239de6964187da3d4098..2bf0fa5becf90e6038f4c4f904365ffd90b81e19 100644
--- a/examples/navier-stokes/navierStokesSolver.h
+++ b/examples/navier-stokes/navierStokesSolver.h
@@ -25,9 +25,9 @@
 #include <matrices/tnlCSRMatrix.h>
 #include <solvers/preconditioners/tnlDummyPreconditioner.h>
 #include <solvers/tnlSolverMonitor.h>
-#include <schemes/euler/fvm/tnlLaxFridrichs.h>
-#include <schemes/gradient/tnlCentralFDMGradient.h>
-#include <schemes/diffusion/tnlLinearDiffusion.h>
+#include <operators/euler/fvm/tnlLaxFridrichs.h>
+#include <operators/gradient/tnlCentralFDMGradient.h>
+#include <operators/diffusion/tnlLinearDiffusion.h>
 #include <mesh/tnlLinearGridGeometry.h>
 #include <solvers/cfd/navier-stokes/tnlNavierStokesSolver.h>
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ad9101d28d31236e48530397b1cfaff5f6b58435..748f71b7313cb85b5ef642512034b927f511d9db 100755
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -5,18 +5,19 @@ ADD_SUBDIRECTORY( core )
 ADD_SUBDIRECTORY( debug )
 ADD_SUBDIRECTORY( matrices )
 ADD_SUBDIRECTORY( mesh )
-ADD_SUBDIRECTORY( schemes )
+ADD_SUBDIRECTORY( operators )
 ADD_SUBDIRECTORY( solvers )
 ADD_SUBDIRECTORY( legacy )
 ADD_SUBDIRECTORY( implementation )
 
-set( tnl_SOURCES ${tnl_generators_SOURCES}
+set( tnl_SOURCES ${tnl_functions_SOURCES}
                  ${tnl_config_SOURCES}
                  ${tnl_core_SOURCES}
                  ${tnl_implementation_SOURCES}
                  ${tnl_legacy_SOURCES}
                  ${tnl_debug_SOURCES}
-                 ${tnl_matrices_SOURCES} )
+                 ${tnl_matrices_SOURCES}
+                 ${tnl_operators_SOURCES} )
 
 set( tnl_CUDA__SOURCES ${tnl_generators_CUDA__SOURCES}
                        ${tnl_config_CUDA__SOURCES}
@@ -24,7 +25,8 @@ set( tnl_CUDA__SOURCES ${tnl_generators_CUDA__SOURCES}
                        ${tnl_implementation_CUDA__SOURCES}
                        ${tnl_legacy_CUDA__SOURCES}
                        ${tnl_debug_CUDA__SOURCES}
-                       ${tnl_matrices_CUDA__SOURCES} )
+                       ${tnl_matrices_CUDA__SOURCES}
+                       ${tnl_operators_CUDA__SOURCES} )
                  
                  
 if( BUILD_CUDA )
diff --git a/src/implementation/CMakeLists.txt b/src/implementation/CMakeLists.txt
index 527fa21d73564f314b96ca971fb596bdce85f49d..fcfa595dcf606cf127179db6673f087803179a8a 100755
--- a/src/implementation/CMakeLists.txt
+++ b/src/implementation/CMakeLists.txt
@@ -3,7 +3,7 @@ ADD_SUBDIRECTORY( core )
 ADD_SUBDIRECTORY( matrices )
 ADD_SUBDIRECTORY( mesh )
 ADD_SUBDIRECTORY( functions )
-ADD_SUBDIRECTORY( schemes )
+ADD_SUBDIRECTORY( operators )
 ADD_SUBDIRECTORY( solvers )
 
 SET( headers  )
@@ -14,7 +14,7 @@ IF( BUILD_CUDA )
         ${tnl_implementation_matrices_CUDA__SOURCES}
         ${tnl_implementation_mesh_CUDA__SOURCES}
         ${tnl_implementation_generators_CUDA__SOURCES}
-        ${tnl_implementation_schemes_CUDA__SOURCES}
+        ${tnl_implementation_operators_CUDA__SOURCES}
         ${tnl_implementation_solvers_CUDA__SOURCES}         
         PARENT_SCOPE )
 ENDIF() 
@@ -25,7 +25,7 @@ set( tnl_implementation_SOURCES
      ${tnl_implementation_generators_SOURCES}
      ${tnl_implementation_matrices_SOURCES}
      ${tnl_implementation_mesh_SOURCES}
-     ${tnl_implementation_schemes_SOURCES}
+     ${tnl_implementation_operators_SOURCES}
      ${tnl_implementation_solvers_SOURCES} 
      PARENT_SCOPE )
 
diff --git a/src/implementation/operators/CMakeLists.txt b/src/implementation/operators/CMakeLists.txt
new file mode 100755
index 0000000000000000000000000000000000000000..84992d01813025ac05ee131684d5fff3eed88042
--- /dev/null
+++ b/src/implementation/operators/CMakeLists.txt
@@ -0,0 +1,23 @@
+ADD_SUBDIRECTORY( gradient )
+ADD_SUBDIRECTORY( diffusion )
+ADD_SUBDIRECTORY( euler )
+
+SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/implementation/operators )
+
+if( BUILD_CUDA)
+      set( tnl_implementation_operators_CUDA__SOURCES        
+        ${tnl_implementation_operators_diffusion_CUDA__SOURCES}
+        ${tnl_implementation_operators_gradient_CUDA__SOURCES}
+        ${tnl_implementation_operators_euler_CUDA__SOURCES}
+        ${common_SOURCES}
+        PARENT_SCOPE )
+endif()
+
+set( tnl_implementation_operators_SOURCES     
+     ${tnl_implementation_operators_diffusion_SOURCES}
+     ${tnl_implementation_operators_gradient_SOURCES}
+     ${tnl_implementation_operators_euler_SOURCES}
+     ${common_SOURCES}
+     PARENT_SCOPE )
+   
+INSTALL( FILES ${headers} DESTINATION include/tnl-${tnlVersion}/implementation/operators )
diff --git a/src/implementation/schemes/diffusion/CMakeLists.txt b/src/implementation/operators/diffusion/CMakeLists.txt
similarity index 100%
rename from src/implementation/schemes/diffusion/CMakeLists.txt
rename to src/implementation/operators/diffusion/CMakeLists.txt
diff --git a/src/implementation/schemes/diffusion/tnlExactLinearDiffusion_impl.h b/src/implementation/operators/diffusion/tnlExactLinearDiffusion_impl.h
similarity index 100%
rename from src/implementation/schemes/diffusion/tnlExactLinearDiffusion_impl.h
rename to src/implementation/operators/diffusion/tnlExactLinearDiffusion_impl.h
diff --git a/src/implementation/schemes/diffusion/tnlLinearDiffusion_impl.h b/src/implementation/operators/diffusion/tnlLinearDiffusion_impl.h
similarity index 99%
rename from src/implementation/schemes/diffusion/tnlLinearDiffusion_impl.h
rename to src/implementation/operators/diffusion/tnlLinearDiffusion_impl.h
index a19e214a5ff1986151f842d0eb160840202167e5..aafdee32a526c4889478f8feb2fa40cdd41fd106 100644
--- a/src/implementation/schemes/diffusion/tnlLinearDiffusion_impl.h
+++ b/src/implementation/operators/diffusion/tnlLinearDiffusion_impl.h
@@ -2,7 +2,7 @@
 #ifndef TNLLINEARDIFFUSION_IMP_H
 #define	TNLLINEARDIFFUSION_IMP_H
 
-#include <schemes/diffusion/tnlLinearDiffusion.h>
+#include <operators/diffusion/tnlLinearDiffusion.h>
 #include <mesh/tnlGrid.h>
 
 template< typename MeshReal,
diff --git a/src/implementation/schemes/euler/CMakeLists.txt b/src/implementation/operators/euler/CMakeLists.txt
similarity index 100%
rename from src/implementation/schemes/euler/CMakeLists.txt
rename to src/implementation/operators/euler/CMakeLists.txt
diff --git a/src/implementation/schemes/euler/fvm/CMakeLists.txt b/src/implementation/operators/euler/fvm/CMakeLists.txt
similarity index 100%
rename from src/implementation/schemes/euler/fvm/CMakeLists.txt
rename to src/implementation/operators/euler/fvm/CMakeLists.txt
diff --git a/src/implementation/schemes/euler/fvm/tnlLaxFridrichs_impl.h b/src/implementation/operators/euler/fvm/tnlLaxFridrichs_impl.h
similarity index 100%
rename from src/implementation/schemes/euler/fvm/tnlLaxFridrichs_impl.h
rename to src/implementation/operators/euler/fvm/tnlLaxFridrichs_impl.h
diff --git a/src/implementation/schemes/gradient/CMakeLists.txt b/src/implementation/operators/gradient/CMakeLists.txt
similarity index 100%
rename from src/implementation/schemes/gradient/CMakeLists.txt
rename to src/implementation/operators/gradient/CMakeLists.txt
diff --git a/src/implementation/schemes/gradient/tnlCentralFDMGradient_impl.h b/src/implementation/operators/gradient/tnlCentralFDMGradient_impl.h
similarity index 100%
rename from src/implementation/schemes/gradient/tnlCentralFDMGradient_impl.h
rename to src/implementation/operators/gradient/tnlCentralFDMGradient_impl.h
diff --git a/src/implementation/schemes/tnlFiniteDifferences_impl.h b/src/implementation/operators/tnlFiniteDifferences_impl.h
similarity index 98%
rename from src/implementation/schemes/tnlFiniteDifferences_impl.h
rename to src/implementation/operators/tnlFiniteDifferences_impl.h
index f6badbce6fb1e50a8ed4ab7bd39b99e276cb00c5..513614fa67b0d416f0e16bb4be16f5bbea0c2d4d 100644
--- a/src/implementation/schemes/tnlFiniteDifferences_impl.h
+++ b/src/implementation/operators/tnlFiniteDifferences_impl.h
@@ -18,7 +18,7 @@
 #ifndef TNLFINITEDIFFERENCES_IMPL_H_
 #define TNLFINITEDIFFERENCES_IMPL_H_
 
-#include <schemes/tnlFiniteDifferences.h>
+#include <operators/tnlFiniteDifferences.h>
 
 template< typename Real, typename Device, typename Index >
    template< typename GridFunction,
@@ -186,7 +186,7 @@ Real tnlFiniteDifferences< tnlGrid< 3, Real, Device, Index > >::getDifference( c
 }
 
 
-#include <implementation/schemes/tnlFiniteDifferences_impl.h>
+#include <implementation/operators/tnlFiniteDifferences_impl.h>
 
 
 
diff --git a/src/implementation/schemes/CMakeLists.txt b/src/implementation/schemes/CMakeLists.txt
deleted file mode 100755
index 93f0713d26dbb7bb4a8b1e763cb8501c3dca906e..0000000000000000000000000000000000000000
--- a/src/implementation/schemes/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-ADD_SUBDIRECTORY( gradient )
-ADD_SUBDIRECTORY( diffusion )
-ADD_SUBDIRECTORY( euler )
-
-SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/implementation/schemes )
-
-if( BUILD_CUDA)
-      set( tnl_implementation_schemes_CUDA__SOURCES        
-        ${tnl_implementation_schemes_diffusion_CUDA__SOURCES}
-        ${tnl_implementation_schemes_gradient_CUDA__SOURCES}
-        ${tnl_implementation_schemes_euler_CUDA__SOURCES}
-        ${common_SOURCES}
-        PARENT_SCOPE )
-endif()
-
-set( tnl_implementation_schemes_SOURCES     
-     ${tnl_implementation_schemes_diffusion_SOURCES}
-     ${tnl_implementation_schemes_gradient_SOURCES}
-     ${tnl_implementation_schemes_euler_SOURCES}
-     ${common_SOURCES}
-     PARENT_SCOPE )
-   
-INSTALL( FILES ${headers} DESTINATION include/tnl-${tnlVersion}/implementation/schemes )
diff --git a/src/legacy/schemes/tnlLinearDiffusion.h b/src/legacy/schemes/tnlLinearDiffusion.h
index 4ad576624c44ea2b236fc8ef169a039e0c44099b..fbf51629e3aa73c830952d549835504d84a5495a 100644
--- a/src/legacy/schemes/tnlLinearDiffusion.h
+++ b/src/legacy/schemes/tnlLinearDiffusion.h
@@ -100,6 +100,6 @@ class tnlLinearDiffusion< tnlGrid< 2, Real, Device, Index, tnlIdenticalGridGeome
 };
 
 
-#include <implementation/schemes/diffusion/tnlLinearDiffusion_impl.h>
+#include <implementation/operators/diffusion/tnlLinearDiffusion_impl.h>
 
 #endif
diff --git a/src/schemes/CMakeLists.txt b/src/operators/CMakeLists.txt
similarity index 77%
rename from src/schemes/CMakeLists.txt
rename to src/operators/CMakeLists.txt
index 492166e63c863c72cb9e6c75872eb80a8414cc25..4312dd8fa72fd14ebb498ec4dbc5895d9c464508 100755
--- a/src/schemes/CMakeLists.txt
+++ b/src/operators/CMakeLists.txt
@@ -4,7 +4,7 @@ ADD_SUBDIRECTORY( euler )
 
 SET( headers tnlFiniteDifferences.h  )
 
-#SET( libtnlmeshincludedir ${TNL_INCLUDE_DIR}/schemes )
+#SET( libtnlmeshincludedir ${TNL_INCLUDE_DIR}/operators )
 #SET( libtnlmeshinclude_HEADERS ${headers} )
 
-INSTALL( FILES ${headers} DESTINATION include/tnl-${tnlVersion}/schemes )
\ No newline at end of file
+INSTALL( FILES ${headers} DESTINATION include/tnl-${tnlVersion}/operators )
\ No newline at end of file
diff --git a/src/schemes/diffusion/CMakeLists.txt b/src/operators/diffusion/CMakeLists.txt
similarity index 100%
rename from src/schemes/diffusion/CMakeLists.txt
rename to src/operators/diffusion/CMakeLists.txt
diff --git a/src/schemes/diffusion/tnlExactLinearDiffusion.h b/src/operators/diffusion/tnlExactLinearDiffusion.h
similarity index 96%
rename from src/schemes/diffusion/tnlExactLinearDiffusion.h
rename to src/operators/diffusion/tnlExactLinearDiffusion.h
index 086cd1f9e4b19b6f5d017dd98b480e3c3aff5410..e1abf074f0d22619ff94fc745fb0570ca95dc5d6 100644
--- a/src/schemes/diffusion/tnlExactLinearDiffusion.h
+++ b/src/operators/diffusion/tnlExactLinearDiffusion.h
@@ -67,6 +67,6 @@ class tnlExactLinearDiffusion< 3 >
 
 };
 
-#include <implementation/schemes/diffusion/tnlExactLinearDiffusion_impl.h>
+#include <implementation/operators/diffusion/tnlExactLinearDiffusion_impl.h>
 
 #endif /* TNLEXACTLINEARDIFFUSION_H_ */
diff --git a/src/schemes/diffusion/tnlLinearDiffusion.h b/src/operators/diffusion/tnlLinearDiffusion.h
similarity index 98%
rename from src/schemes/diffusion/tnlLinearDiffusion.h
rename to src/operators/diffusion/tnlLinearDiffusion.h
index ddac4febc9ddce7cfe3628abdcafddf056d619a7..5cff39f120e88ec0b138174f6686714d9a4b9cbc 100644
--- a/src/schemes/diffusion/tnlLinearDiffusion.h
+++ b/src/operators/diffusion/tnlLinearDiffusion.h
@@ -133,7 +133,7 @@ class tnlLinearDiffusion< tnlGrid< 3, MeshReal, Device, MeshIndex >, Real, Index
 };
 
 
-#include <implementation/schemes/diffusion/tnlLinearDiffusion_impl.h>
+#include <implementation/operators/diffusion/tnlLinearDiffusion_impl.h>
 
 
 #endif	/* TNLLINEARDIFFUSION_H */
diff --git a/src/schemes/euler/CMakeLists.txt b/src/operators/euler/CMakeLists.txt
similarity index 100%
rename from src/schemes/euler/CMakeLists.txt
rename to src/operators/euler/CMakeLists.txt
diff --git a/src/schemes/euler/fvm/CMakeLists.txt b/src/operators/euler/fvm/CMakeLists.txt
similarity index 100%
rename from src/schemes/euler/fvm/CMakeLists.txt
rename to src/operators/euler/fvm/CMakeLists.txt
diff --git a/src/schemes/euler/fvm/tnlLaxFridrichs.h b/src/operators/euler/fvm/tnlLaxFridrichs.h
similarity index 97%
rename from src/schemes/euler/fvm/tnlLaxFridrichs.h
rename to src/operators/euler/fvm/tnlLaxFridrichs.h
index 5ada2ca48fcbc5ca13216abe7b29259849ac8fd2..c361c8278397426fe726a9123f768c126bf20354 100644
--- a/src/schemes/euler/fvm/tnlLaxFridrichs.h
+++ b/src/operators/euler/fvm/tnlLaxFridrichs.h
@@ -21,7 +21,7 @@
 #include <core/vectors/tnlSharedVector.h>
 #include <mesh/tnlGrid.h>
 #include <mesh/tnlIdenticalGridGeometry.h>
-#include <schemes/gradient/tnlCentralFDMGradient.h>
+#include <operators/gradient/tnlCentralFDMGradient.h>
 
 template< typename Mesh,
           typename PressureGradient = tnlCentralFDMGradient< Mesh > >
@@ -168,6 +168,6 @@ class tnlLaxFridrichs< tnlGrid< 2, Real, Device, Index, tnlIdenticalGridGeometry
    tnlSharedVector< RealType, DeviceType, IndexType > rho, rho_u1, rho_u2, energy, p;
 };
 
-#include <implementation/schemes/euler/fvm/tnlLaxFridrichs_impl.h>
+#include <implementation/operators/euler/fvm/tnlLaxFridrichs_impl.h>
 
 #endif
diff --git a/src/schemes/gradient/CMakeLists.txt b/src/operators/gradient/CMakeLists.txt
similarity index 100%
rename from src/schemes/gradient/CMakeLists.txt
rename to src/operators/gradient/CMakeLists.txt
diff --git a/src/schemes/gradient/tnlCentralFDMGradient.h b/src/operators/gradient/tnlCentralFDMGradient.h
similarity index 97%
rename from src/schemes/gradient/tnlCentralFDMGradient.h
rename to src/operators/gradient/tnlCentralFDMGradient.h
index b88d455ecfb067d415f86aed64181d8a2594e98d..754afb3b0cb4bee5e237a02f4c549ce33cfe1cf8 100644
--- a/src/schemes/gradient/tnlCentralFDMGradient.h
+++ b/src/operators/gradient/tnlCentralFDMGradient.h
@@ -91,6 +91,6 @@ class tnlCentralFDMGradient< tnlGrid< 2, Real, Device, Index, tnlIdenticalGridGe
 };
 
 
-#include <implementation/schemes/gradient/tnlCentralFDMGradient_impl.h>
+#include <implementation/operators/gradient/tnlCentralFDMGradient_impl.h>
 
 #endif
diff --git a/src/schemes/tnlFiniteDifferences.h b/src/operators/tnlFiniteDifferences.h
similarity index 99%
rename from src/schemes/tnlFiniteDifferences.h
rename to src/operators/tnlFiniteDifferences.h
index 55f3e577038f39a915ca63fa6bf94b3f0f4e2c47..7437f09e36aa46db0cd8c68bbe156923c7aebb33 100644
--- a/src/schemes/tnlFiniteDifferences.h
+++ b/src/operators/tnlFiniteDifferences.h
@@ -209,7 +209,7 @@ class tnlFiniteDifferences< tnlGrid< 3, Real, Device, Index > >
 
 };
 
-#include <implementation/schemes/tnlFiniteDifferences_impl.h>
+#include <implementation/operators/tnlFiniteDifferences_impl.h>
 
 
 
diff --git a/tests/unit-tests/CMakeLists.txt b/tests/unit-tests/CMakeLists.txt
index d7b007795e78a7c8ee2f86903d20a97870e8b65f..1cea6d968ea5e7120f4f3fd96bb90d40e7951502 100755
--- a/tests/unit-tests/CMakeLists.txt
+++ b/tests/unit-tests/CMakeLists.txt
@@ -1,7 +1,7 @@
 ADD_SUBDIRECTORY( core )
 ADD_SUBDIRECTORY( matrices )
 ADD_SUBDIRECTORY( mesh )
-ADD_SUBDIRECTORY( schemes )
+ADD_SUBDIRECTORY( operators )
 ADD_SUBDIRECTORY( solver )
 
 set( headers tnlUnitTestStarter.h
@@ -52,7 +52,7 @@ ADD_TEST( mesh/tnlGridTest${mpiExt}${debugExt} ${EXECUTABLE_OUTPUT_PATH}/tnlGrid
 ADD_TEST( mesh/tnlMeshEntityTest${mpiExt}${debugExt} ${EXECUTABLE_OUTPUT_PATH}/tnlMeshEntityTest${mpiExt}${debugExt} )
 ADD_TEST( mesh/tnlMeshTest${mpiExt}${debugExt} ${EXECUTABLE_OUTPUT_PATH}/tnlMeshTest${mpiExt}${debugExt} )
 
-ADD_TEST( schemes/diffusion/tnlLinearDiffusionTest${mpiExt}${debugExt} ${EXECUTABLE_OUTPUT_PATH}/tnlLinearDiffusionTest${mpiExt}${debugExt} )
+ADD_TEST( operators/diffusion/tnlLinearDiffusionTest${mpiExt}${debugExt} ${EXECUTABLE_OUTPUT_PATH}/tnlLinearDiffusionTest${mpiExt}${debugExt} )
 
 if( BUILD_CUDA )
    ADD_TEST( core/cuda/tnlCudaTest${mpiExt}${debugExt} ${EXECUTABLE_OUTPUT_PATH}/tnlCudaTest${mpiExt}${debugExt} )
diff --git a/tests/unit-tests/schemes/CMakeLists.txt b/tests/unit-tests/operators/CMakeLists.txt
similarity index 100%
rename from tests/unit-tests/schemes/CMakeLists.txt
rename to tests/unit-tests/operators/CMakeLists.txt
diff --git a/tests/unit-tests/schemes/diffusion/CMakeLists.txt b/tests/unit-tests/operators/diffusion/CMakeLists.txt
similarity index 100%
rename from tests/unit-tests/schemes/diffusion/CMakeLists.txt
rename to tests/unit-tests/operators/diffusion/CMakeLists.txt
diff --git a/tests/unit-tests/schemes/diffusion/tnlLinearDiffusionTest.cpp b/tests/unit-tests/operators/diffusion/tnlLinearDiffusionTest.cpp
similarity index 97%
rename from tests/unit-tests/schemes/diffusion/tnlLinearDiffusionTest.cpp
rename to tests/unit-tests/operators/diffusion/tnlLinearDiffusionTest.cpp
index c4116fe76e7a7773e9b773f0f6eeec2dfa8ad149..525725954cd2e34eeb5d2b954f06e482b9ac0bd2 100644
--- a/tests/unit-tests/schemes/diffusion/tnlLinearDiffusionTest.cpp
+++ b/tests/unit-tests/operators/diffusion/tnlLinearDiffusionTest.cpp
@@ -22,8 +22,8 @@
 #include "../tnlPDEOperatorEocTester.h"
 #include "../../tnlUnitTestStarter.h"
 #include <mesh/tnlGrid.h>
-#include <schemes/diffusion/tnlLinearDiffusion.h>
-#include <schemes/diffusion/tnlExactLinearDiffusion.h>
+#include <operators/diffusion/tnlLinearDiffusion.h>
+#include <operators/diffusion/tnlExactLinearDiffusion.h>
 #include "../tnlPDEOperatorEocTestResult.h"
 #include <functions/tnlExpBumpFunction.h>
 
diff --git a/tests/unit-tests/schemes/tnlPDEOperatorEocTestResult.h b/tests/unit-tests/operators/tnlPDEOperatorEocTestResult.h
similarity index 100%
rename from tests/unit-tests/schemes/tnlPDEOperatorEocTestResult.h
rename to tests/unit-tests/operators/tnlPDEOperatorEocTestResult.h
diff --git a/tests/unit-tests/schemes/tnlPDEOperatorEocTestSetter.h b/tests/unit-tests/operators/tnlPDEOperatorEocTestSetter.h
similarity index 100%
rename from tests/unit-tests/schemes/tnlPDEOperatorEocTestSetter.h
rename to tests/unit-tests/operators/tnlPDEOperatorEocTestSetter.h
diff --git a/tests/unit-tests/schemes/tnlPDEOperatorEocTester.h b/tests/unit-tests/operators/tnlPDEOperatorEocTester.h
similarity index 97%
rename from tests/unit-tests/schemes/tnlPDEOperatorEocTester.h
rename to tests/unit-tests/operators/tnlPDEOperatorEocTester.h
index ca8524a1f5f6e30e6bf8ca90168699500cc313fd..9e1b50ff541a6976ee1724025aca600d5b70344b 100644
--- a/tests/unit-tests/schemes/tnlPDEOperatorEocTester.h
+++ b/tests/unit-tests/operators/tnlPDEOperatorEocTester.h
@@ -25,8 +25,8 @@
 #include <cppunit/TestCase.h>
 #include <cppunit/Message.h>
 #include <unit-tests/tnlApproximationError.h>
-#include <unit-tests/schemes/tnlPDEOperatorEocTestSetter.h>
-#include <unit-tests/schemes/tnlPDEOperatorEocTestResult.h>
+#include <unit-tests/operators/tnlPDEOperatorEocTestSetter.h>
+#include <unit-tests/operators/tnlPDEOperatorEocTestResult.h>
 
 template< typename ApproximateOperator,
           typename ExactOperator,
diff --git a/tools/src/tnl-init.h b/tools/src/tnl-init.h
index b600d071fb41e3e628a5fc3c0cdd6ff631e6939e..1be06eaa73d046e2ed9173b35ac3ec9dd32b2338 100644
--- a/tools/src/tnl-init.h
+++ b/tools/src/tnl-init.h
@@ -25,7 +25,7 @@
 #include <functions/tnlSinWaveFunction.h>
 #include <functions/tnlSinBumpsFunction.h>
 #include <functions/tnlExpBumpFunction.h>
-#include <schemes/tnlFiniteDifferences.h>
+#include <operators/tnlFiniteDifferences.h>
 
 template< typename MeshType,
           typename FunctionType,