diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4
index aa5d46ff58bdddf70525aba2ec8a9df4bba35e27..5074f0d0e72f1df823c71e63cf6dba3629061a88 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CH4
@@ -10,34 +10,35 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      CH4;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 dimensions      [0 0 0 0 0 0 0];
 
-internalField   uniform 0.0;
+internalField   uniform 0;
 
 boundaryField
 {
     fuel
     {
         type            fixedValue;
-        value           uniform 1.0;
+        value           uniform 1;
     }
+
     air
     {
         type            fixedValue;
-        value           uniform 0.0;
+        value           uniform 0;
     }
+
     outlet
     {
         type            inletOutlet;
-        inletValue      uniform 0.0;
-        value           uniform 0.0;
-
+        inletValue      uniform 0;
+        value           uniform 0;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2
index ab2f76c425e0725e05fcfab99ebe15fc1fdb525f..d3ea0e9680fd94ffc1a62d215a1e5f3d211e8260 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/CO2
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      CO2;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -21,23 +20,19 @@ internalField   uniform 0;
 
 boundaryField
 {
-    fuel
-    {
-        type            fixedValue;
-        value           uniform 0;
-    }
-    air
+    "(fuel|air)"
     {
         type            fixedValue;
         value           uniform 0;
     }
+
     outlet
     {
         type            inletOutlet;
         inletValue      uniform 0;
         value           uniform 0;
-
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O
index 2ae517b27fa25bf2799eb70819570a2136094274..d0dbfef8872f1df65f7ba526a6d6be1c989ca769 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/H2O
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      H2O;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2
index 62e1ef202e11536306a5a475e65a4d2c5162d8f0..fb12cb70cba18b90bdbe9b3e24eb39e54b7ab9ad 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/N2
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      N2;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -26,18 +25,20 @@ boundaryField
         type            fixedValue;
         value           uniform 0.0;
     }
+
     air
     {
         type            fixedValue;
         value           uniform 0.77;
     }
+
     outlet
     {
         type            inletOutlet;
         inletValue      uniform 1;
         value           uniform 1;
-
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2
index 506f04ecb9809a8989cae2a1c7c27df2148a1d55..ee7433eaffcc07453cc06146e5dd6d03401a006f 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/O2
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      O2;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -24,19 +23,22 @@ boundaryField
     fuel
     {
         type            fixedValue;
-        value           uniform 0.0;
+        value           uniform 0;
     }
+
     air
     {
         type            fixedValue;
         value           uniform 0.23;
     }
+
     outlet
     {
         type            inletOutlet;
         inletValue      uniform 0;
         value           uniform 0;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T
index 2a5121fb076a4ae62f15d5931cf321e71c8224c9..31ddd7db75bd2832b3dcfaea98754dae8c12cd5c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/T
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      T;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -21,22 +20,19 @@ internalField   uniform 2000;
 
 boundaryField
 {
-    fuel
-    {
-        type            fixedValue;
-        value           uniform 293;
-    }
-    air
+    "(fuel|air)"
     {
         type            fixedValue;
         value           uniform 293;
     }
+
     outlet
     {
         type            inletOutlet;
         inletValue      uniform 293;
         value           uniform 293;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U
index 40f4727f524cfc1ba52dda14413f97ac73189792..c192391019f9cf69cca7dcb4278f8de37fe2c6c8 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/U
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volVectorField;
-    location    "0";
     object      U;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -26,16 +25,19 @@ boundaryField
         type            fixedValue;
         value           uniform (0.1 0 0);
     }
+
     air
     {
         type            fixedValue;
         value           uniform (-0.1 0 0);
     }
+
     outlet
     {
         type            pressureInletOutletVelocity;
         value           $internalField;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault
index b13a5a7aa3cd407bff88b5a53ab3f1d6d970e5e8..dfc48588997ba50b646b6cf9f52d2429d08ba86c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/Ydefault
@@ -10,34 +10,29 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      Ydefault;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 dimensions      [0 0 0 0 0 0 0];
 
-internalField   uniform 0.0;
+internalField   uniform 0;
 
 boundaryField
 {
-    fuel
+    "(fuel|air)"
     {
         type            fixedValue;
-        value           uniform 0.0;
-    }
-    air
-    {
-        type            fixedValue;
-        value           uniform 0.0;
+        value           uniform 0;
     }
+
     outlet
     {
         type            inletOutlet;
-        inletValue      uniform 0.0;
-        value           uniform 0.0;
-
+        inletValue      uniform 0;
+        value           uniform 0;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat
index d13c439be3cf5bdbf2efaa3b981d677783a9a3aa..2f2a619e46813c94b19ee8089989e8b667b4de4d 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/alphat
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      alphat;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -21,20 +20,17 @@ internalField   uniform 0;
 
 boundaryField
 {
-    fuel
-    {
-        type            fixedValue;
-        value           uniform 0;
-    }
-    air
+    "(fuel|air)"
     {
         type            fixedValue;
         value           uniform 0;
     }
+
     outlet
     {
         type            zeroGradient;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p
index 470e37aad8c6df9bae198d63f6e15f76fd960b4c..2d13058f89dd62ca7040200faf53231988eabff0 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/0/p
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "0";
     object      p;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -21,19 +20,17 @@ internalField   uniform 1e5;
 
 boundaryField
 {
-    fuel
-    {
-        type            zeroGradient;
-    }
-    air
+    "(fuel|air)"
     {
         type            zeroGradient;
     }
+
     outlet
     {
         type            totalPressure;
         p0              $internalField;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties
index 39868c8f6335f210d5de890250e275cf809924fb..d48ed1ba9d94d40798783be14fe7d0ba0e83905a 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/chemistryProperties
@@ -10,14 +10,13 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      chemistryProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 chemistryType
 {
-    solver            EulerImplicit;
+    solver          EulerImplicit;
 }
 
 chemistry           on;
@@ -37,4 +36,5 @@ odeCoeffs
     relTol          0.01;
 }
 
+
 // ************************************************************************* //
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties
index 0d845cb4c5d5b9802689ba0e08e4f076dd0bfbec..8c202ef2e7133978ec382139456e4d468169c3bf 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/combustionProperties
@@ -10,14 +10,13 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      combustionProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 combustionModel  laminar;
 
-active  true;
+active           true;
 
 laminarCoeffs
 {
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas
index 88f778a7c08664edf6efac5f46ecf46d8f7f282b..e009ca623e4763bc0333088f109ed4d54dbb3ef1 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermo.compressibleGas
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      thermo.compressibleGas;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties
index 0266f6be0ff18d2bd91ecc0af720beb877a3e7f3..0933dc55d37f89636ab807d02633389f68e26c7a 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/thermophysicalProperties
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      thermophysicalProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -26,11 +25,11 @@ thermoType
     specie          specie;
 }
 
-inertSpecie N2;
+inertSpecie         N2;
 
-chemistryReader foamChemistryReader;
+chemistryReader     foamChemistryReader;
 
-foamChemistryFile "<constant>/reactions";
+foamChemistryFile   "<constant>/reactions";
 
 foamChemistryThermoFile "<constant>/thermo.compressibleGas";
 
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties
index fbd1e3c277c13766d96341f6214f8c833ed4b691..c5b843164197cc6c0e83282226fd91201f577e15 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/constant/turbulenceProperties
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      turbulenceProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction
new file mode 100644
index 0000000000000000000000000000000000000000..e7fd08212687a9e6f693589e262acf9a7bdba283
--- /dev/null
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/FOBilgerMixtureFraction
@@ -0,0 +1,46 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2006                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+BilgerMixtureFraction1
+{
+    // Mandatory entries
+    type            BilgerMixtureFraction;
+    libs            (fieldFunctionObjects);
+
+    fuel
+    {
+        composition moleFractions;
+        CH4         1;
+    }
+
+    oxidiser
+    {
+        composition massFractions;
+        O2          0.23;
+        N2          0.77;
+    }
+
+
+    // Optional entries
+    //phase           "";
+    result          f_Bilger;
+
+    // Optional (inherited) entries
+    region          region0;
+    enabled         true;
+    log             true;
+    timeStart       0;
+    timeEnd         1000;
+    executeControl  timeStep;
+    executeInterval 1;
+    writeControl    writeTime;
+    writeInterval   -1;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict
index 0b250276b04f20a7d58d7d12abd909a053695f72..c39369b9fc3e6270702f6ce5bc9f269cbc9e6f48 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/controlDict
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "system";
     object      controlDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -49,5 +48,10 @@ adjustTimeStep  yes;
 
 maxCo           0.4;
 
+functions
+{
+    #include "FOBilgerMixtureFraction"
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes
index 289266088f7a6bd1ee14061b4d4eb1e9265e269c..d56a5372aba624d13ccc4f3a1ce5811273ec8514 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSchemes
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "system";
     object      fvSchemes;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -34,7 +33,7 @@ divSchemes
     div(phi,K)      Gauss limitedLinear 1;
     div(phid,p)     Gauss limitedLinear 1;
     div(phi,epsilon) Gauss limitedLinear 1;
-    div(phi,k) Gauss limitedLinear 1;
+    div(phi,k)      Gauss limitedLinear 1;
     div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution
index d5e23ddc42c94aac510773778424436ff5249588..b6da8b0e6b5ed92a0aebcc3b3a080ff965a8381b 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D/system/fvSolution
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "system";
     object      fvSolution;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -61,7 +60,7 @@ PIMPLE
 {
     momentumPredictor no;
     nOuterCorrectors  1;
-    nCorrectors     2;
+    nCorrectors       2;
     nNonOrthogonalCorrectors 0;
 }