diff --git a/executables/cartesian2DMesh/cartesian2DMesh.C b/executables/cartesian2DMesh/cartesian2DMesh.C
index 0627ece1e36951bfb9e43f891e7509a48ade9df5..5a708d86b6ecd443f70ace2946177662f0e58a2f 100644
--- a/executables/cartesian2DMesh/cartesian2DMesh.C
+++ b/executables/cartesian2DMesh/cartesian2DMesh.C
@@ -25,7 +25,7 @@ Application
     Generates cartesian mesh
 
 Description
-    Generates a 2D cartesian mesh
+    Takes a triangulated surface and generates a 2D cartesian mesh
 
 \*---------------------------------------------------------------------------*/
 
@@ -36,14 +36,19 @@ using namespace Foam;
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-// Main program:
-
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Takes a triangulated surface"
+        " and generates a 2D cartesian mesh"
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
-    // 2d cartesian mesher cannot be run in parallel
+    // 2D cartesian mesher cannot be run in parallel
     argList::noParallel();
 
     Module::cartesian2DMeshGenerator cmg(runTime);
diff --git a/executables/cartesianMesh/cartesianMesh.C b/executables/cartesianMesh/cartesianMesh.C
index 8f7b72e740167336691c079d933b396bc74cd6ed..40b0648bb6becdd89d6491d4b96813d4d9fefa01 100644
--- a/executables/cartesianMesh/cartesianMesh.C
+++ b/executables/cartesianMesh/cartesianMesh.C
@@ -25,7 +25,7 @@ Application
     Generates cartesian mesh
 
 Description
-    - takes a triangulated surface and generates a cartesian mesh
+    Takes a triangulated surface and generates a cartesian mesh
 
 \*---------------------------------------------------------------------------*/
 
@@ -38,6 +38,13 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Takes a triangulated surface"
+        " and generates a cartesian mesh"
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
diff --git a/executables/pMesh/pMesh.C b/executables/pMesh/pMesh.C
index 13d38245379ba221c6bcfb222a089038ff29a5fe..4067ce9b2fabd64c2ad7197d488852a6d0bdbba9 100644
--- a/executables/pMesh/pMesh.C
+++ b/executables/pMesh/pMesh.C
@@ -38,6 +38,13 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Takes a triangulated surface"
+        " and generates a body-fitted polyhedral mesh"
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
diff --git a/executables/tetMesh/tetMesh.C b/executables/tetMesh/tetMesh.C
index aab7ff2a5470927d5ad26b8a8899615d7e46d9cc..e2e4de22d6ae67219a6c613fb597a087b98f98a4 100644
--- a/executables/tetMesh/tetMesh.C
+++ b/executables/tetMesh/tetMesh.C
@@ -38,6 +38,13 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Takes a triangulated surface"
+        " and generates a tetrahedral mesh"
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
diff --git a/meshLibrary/cartesian2DMesh/cartesian2DMeshGenerator/cartesian2DMeshGenerator.C b/meshLibrary/cartesian2DMesh/cartesian2DMeshGenerator/cartesian2DMeshGenerator.C
index 5421a58bf6642b04104a1f19c47294ad5cf33049..124198e07731747ac6a190947d329a3cca395b2f 100644
--- a/meshLibrary/cartesian2DMesh/cartesian2DMeshGenerator/cartesian2DMeshGenerator.C
+++ b/meshLibrary/cartesian2DMesh/cartesian2DMeshGenerator/cartesian2DMeshGenerator.C
@@ -286,7 +286,7 @@ Foam::Module::cartesian2DMeshGenerator::cartesian2DMeshGenerator
             checkMeshDict cmd(meshDict_);
         }
 
-        fileName surfaceFile = meshDict_.lookup("surfaceFile");
+        fileName surfaceFile(meshDict_.lookup("surfaceFile"));
         if (Pstream::parRun())
         {
             surfaceFile = ".."/surfaceFile;
diff --git a/meshLibrary/cartesianMesh/cartesianMeshGenerator/cartesianMeshGenerator.C b/meshLibrary/cartesianMesh/cartesianMeshGenerator/cartesianMeshGenerator.C
index 149050fff6c524dd5251ba9bce4949bb7793b19d..3e54651b11bab9004a15b527896a9334cf73cbda 100644
--- a/meshLibrary/cartesianMesh/cartesianMeshGenerator/cartesianMeshGenerator.C
+++ b/meshLibrary/cartesianMesh/cartesianMeshGenerator/cartesianMeshGenerator.C
@@ -342,7 +342,7 @@ Foam::Module::cartesianMeshGenerator::cartesianMeshGenerator(const Time& time)
             checkMeshDict cmd(meshDict_);
         }
 
-        fileName surfaceFile = meshDict_.lookup("surfaceFile");
+        fileName surfaceFile(meshDict_.lookup("surfaceFile"));
         if (Pstream::parRun())
             surfaceFile = ".."/surfaceFile;
 
diff --git a/meshLibrary/tetMesh/tetMeshGenerator/tetMeshGenerator.C b/meshLibrary/tetMesh/tetMeshGenerator/tetMeshGenerator.C
index 29a96aaaa965379f402fe2a12d00a921a2b09ced..9d05aa58c5cacc032ced59e936333d4161c6b321 100644
--- a/meshLibrary/tetMesh/tetMeshGenerator/tetMeshGenerator.C
+++ b/meshLibrary/tetMesh/tetMeshGenerator/tetMeshGenerator.C
@@ -322,7 +322,7 @@ Foam::Module::tetMeshGenerator::tetMeshGenerator(const Time& time)
             checkMeshDict cmd(meshDict_);
         }
 
-        const fileName surfaceFile = meshDict_.lookup("surfaceFile");
+        const fileName surfaceFile(meshDict_.lookup("surfaceFile"));
 
         surfacePtr_ = new triSurf(runTime_.path()/surfaceFile);
 
diff --git a/meshLibrary/utilities/anisotropicMeshing/coordinateModification/boxScaling.H b/meshLibrary/utilities/anisotropicMeshing/coordinateModification/boxScaling.H
index 7c4588deb6c997560771a67704b16e303094d8b2..f741fa56c7cbf2e3fdeb8d6945b93bcdc0904848 100644
--- a/meshLibrary/utilities/anisotropicMeshing/coordinateModification/boxScaling.H
+++ b/meshLibrary/utilities/anisotropicMeshing/coordinateModification/boxScaling.H
@@ -46,6 +46,10 @@ namespace Foam
 namespace Module
 {
 
+// Forward declarations
+class boxScaling;
+Ostream& operator<<(Ostream&, const boxScaling&);
+
 /*---------------------------------------------------------------------------*\
                          Class boxScaling Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/meshLibrary/utilities/containers/VRWGraph/VRWGraph.H b/meshLibrary/utilities/containers/VRWGraph/VRWGraph.H
index 2e4177644857ff667967b226d3f826aed1b3afd6..ce5cce575ff6b4a26957f3e486ab3ec84137046f 100644
--- a/meshLibrary/utilities/containers/VRWGraph/VRWGraph.H
+++ b/meshLibrary/utilities/containers/VRWGraph/VRWGraph.H
@@ -51,7 +51,9 @@ namespace Foam
 namespace Module
 {
 
+// Forward declarations
 class VRWGraph;
+Ostream& operator<<(Ostream&, const VRWGraph&);
 
 class rowElement
 {
diff --git a/meshLibrary/utilities/containers/VRWGraphList/VRWGraphList.H b/meshLibrary/utilities/containers/VRWGraphList/VRWGraphList.H
index 930c8556cd7c4de0bd756ab0720016b1a91338d9..1f20c2c68d7c7e164122e5b3ded3badb66f296d3 100644
--- a/meshLibrary/utilities/containers/VRWGraphList/VRWGraphList.H
+++ b/meshLibrary/utilities/containers/VRWGraphList/VRWGraphList.H
@@ -47,6 +47,10 @@ namespace Foam
 namespace Module
 {
 
+// Forward declarations
+class VRWGraphList;
+Ostream& operator<<(Ostream&, const VRWGraphList&);
+
 /*---------------------------------------------------------------------------*\
                         Class VRWGraphList Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/meshLibrary/utilities/meshes/polyMeshGen/polyMeshGenFaces.C b/meshLibrary/utilities/meshes/polyMeshGen/polyMeshGenFaces.C
index 7c2f94b0013ff639d42c547286b5f13fc0171dda..ebdd7f6598656f65621ce2b0e49d754afd7e59a1 100644
--- a/meshLibrary/utilities/meshes/polyMeshGen/polyMeshGenFaces.C
+++ b/meshLibrary/utilities/meshes/polyMeshGen/polyMeshGenFaces.C
@@ -29,7 +29,7 @@ License
 #include "IOobjectList.H"
 #include "faceSet.H"
 #include "demandDrivenData.H"
-#include "ListOps.H"
+#include "stringListOps.H"
 
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
@@ -268,15 +268,16 @@ Foam::labelList Foam::Module::polyMeshGenFaces::findPatches
     const word& patchName
 ) const
 {
-    const labelList ids = findIndices(patchNames(), patchName);
+    const labelList patchIDs =
+        findMatchingStrings(regExp(patchName), patchNames());
 
-    if (ids.empty())
+    if (patchIDs.empty())
     {
         WarningInFunction
             << "Cannot find any patch names matching " << patchName << endl;
     }
 
-    return ids;
+    return patchIDs;
 }
 
 
diff --git a/meshLibrary/utilities/meshes/triSurf/triSurfFacets.C b/meshLibrary/utilities/meshes/triSurf/triSurfFacets.C
index c96fc29ddf4e1a9fcfd4b763f7a777c6e4e1c17d..75613135095494f2345c39550028e268de87d1ef 100644
--- a/meshLibrary/utilities/meshes/triSurf/triSurfFacets.C
+++ b/meshLibrary/utilities/meshes/triSurf/triSurfFacets.C
@@ -27,7 +27,7 @@ License
 #include "pointIOField.H"
 #include "IOobjectList.H"
 #include "pointSet.H"
-#include "ListOps.H"
+#include "stringListOps.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -89,17 +89,18 @@ Foam::labelList Foam::Module::triSurfFacets::findPatches
     const word& patchName
 ) const
 {
-    const labelList ids = findIndices(patchNames(), patchName);
+    const labelList patchIDs =
+        findMatchingStrings(regExp(patchName), patchNames());
 
     # ifdef DEBUGtriSurf
-    if (ids.empty())
+    if (patchIDs.empty())
     {
         WarningInFunction
             << "Cannot find any patch names matching " << patchName << endl;
     }
     # endif
 
-    return ids;
+    return patchIDs;
 }
 
 
diff --git a/meshLibrary/voronoiMesh/voronoiMeshGenerator/voronoiMeshGenerator.C b/meshLibrary/voronoiMesh/voronoiMeshGenerator/voronoiMeshGenerator.C
index a8bc46a852d49cb9862345ffb510266351553bc7..59b60fa8b540fe2a4166919dc76e6f4064663dac 100644
--- a/meshLibrary/voronoiMesh/voronoiMeshGenerator/voronoiMeshGenerator.C
+++ b/meshLibrary/voronoiMesh/voronoiMeshGenerator/voronoiMeshGenerator.C
@@ -385,7 +385,7 @@ Foam::Module::voronoiMeshGenerator::voronoiMeshGenerator(const Time& time)
         if (true)
             checkMeshDict cmd(meshDict_);
 
-        const fileName surfaceFile = meshDict_.lookup("surfaceFile");
+        const fileName surfaceFile(meshDict_.lookup("surfaceFile"));
 
         surfacePtr_ = new triSurf(runTime_.path()/surfaceFile);
 
diff --git a/utilities/FLMAToSurface/FLMAToSurface.C b/utilities/FLMAToSurface/FLMAToSurface.C
index d1d94e5cc4b94a391e4c20650122b6f8563b0b92..2ee8acffa2b5701cd435534c592b33584cad5c7b 100644
--- a/utilities/FLMAToSurface/FLMAToSurface.C
+++ b/utilities/FLMAToSurface/FLMAToSurface.C
@@ -40,6 +40,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Reads the AVL's surface mesh format."
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/FMSToSurface/FMSToSurface.C b/utilities/FMSToSurface/FMSToSurface.C
index 9098d66600807a3845b30403d584fb0187fc9561..9692da4d101d70d0bbde42c2df87c14dc9f7d5af 100644
--- a/utilities/FMSToSurface/FMSToSurface.C
+++ b/utilities/FMSToSurface/FMSToSurface.C
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Description
-    Creates surface patches from surface subsets
+    Convert a FMS file to another surface format
 
 \*---------------------------------------------------------------------------*/
 
@@ -101,6 +101,12 @@ void exportFeatureEdges
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Convert a FMS file to another surface format."
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/FMSToVTK/FMSToVTK.C b/utilities/FMSToVTK/FMSToVTK.C
index 5cfdcf022baa9d31dc1f637ca3dabb24efe44c67..1507814652e88eb24ceed793eb3f8b77f2ab8c7d 100644
--- a/utilities/FMSToVTK/FMSToVTK.C
+++ b/utilities/FMSToVTK/FMSToVTK.C
@@ -326,6 +326,13 @@ void writeFacetsToVTK
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Convert a surface file to VTK multiblock dataset format,"
+        " including the patches, feature edges and surface features."
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/checkSurfaceMesh/checkSurfaceMesh.C b/utilities/checkSurfaceMesh/checkSurfaceMesh.C
index 55f4552ca719e689bc98a35225dc88ac841a10b8..3ae0cc22b6f651540f8482e44107b5ad97598984 100644
--- a/utilities/checkSurfaceMesh/checkSurfaceMesh.C
+++ b/utilities/checkSurfaceMesh/checkSurfaceMesh.C
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Description
-    Reads the specified surface and writes it in the fms format.
+    Perform surface mesh checks
 
 \*---------------------------------------------------------------------------*/
 
@@ -40,6 +40,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Perform surface mesh checks"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("input surface file");
diff --git a/utilities/copySurfaceParts/copySurfaceParts.C b/utilities/copySurfaceParts/copySurfaceParts.C
index 86fd9ae8f59f518e74e48f87aeadc98f70dbbffd..3132c07d50427c842813ab9cea716ac271c75157 100644
--- a/utilities/copySurfaceParts/copySurfaceParts.C
+++ b/utilities/copySurfaceParts/copySurfaceParts.C
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Description
-    Finds feature edges and corners of a triangulated surface
+    Copy parts of a surface mesh
 
 \*---------------------------------------------------------------------------*/
 
@@ -41,6 +41,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Copy parts of a surface mesh"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("input surface file");
diff --git a/utilities/extrudeEdgesInto2DSurface/extrudeEdgesInto2DSurface.C b/utilities/extrudeEdgesInto2DSurface/extrudeEdgesInto2DSurface.C
index 5cfb1c334e727584fb001e506e58297e74e78e80..d6777beb694d5694d7db47ff518d42ba623655de 100644
--- a/utilities/extrudeEdgesInto2DSurface/extrudeEdgesInto2DSurface.C
+++ b/utilities/extrudeEdgesInto2DSurface/extrudeEdgesInto2DSurface.C
@@ -39,6 +39,13 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Reads the surface mesh, remove the selected facets"
+        " and writes the modified mesh into a new file"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/generateBoundaryLayers/generateBoundaryLayers.C b/utilities/generateBoundaryLayers/generateBoundaryLayers.C
index d55b8cb077d5b3b303dd011e1f70de20b71ef1f7..dcdf2c21c417d1abf65d34b916425d85fa02a184 100644
--- a/utilities/generateBoundaryLayers/generateBoundaryLayers.C
+++ b/utilities/generateBoundaryLayers/generateBoundaryLayers.C
@@ -108,6 +108,13 @@ void layerRefinement(polyMeshGen& mesh, const dictionary& meshDict)
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Generate boundary layers in the existing mesh,"
+        " based on the settings given in meshDict."
+    );
+
     argList::addBoolOption("2DLayers");
 
     #include "setRootCase.H"
diff --git a/utilities/importSurfaceAsSubset/importSurfaceAsSubset.C b/utilities/importSurfaceAsSubset/importSurfaceAsSubset.C
index 9c35141018048f63acdc1347d03292cf433730b3..f1cc14a48e31c69d4aec8fbc328f863cbeb67598 100644
--- a/utilities/importSurfaceAsSubset/importSurfaceAsSubset.C
+++ b/utilities/importSurfaceAsSubset/importSurfaceAsSubset.C
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Description
-    Finds feature edges and corners of a triangulated surface
+    Import a subset of a surface
 
 \*---------------------------------------------------------------------------*/
 
@@ -42,6 +42,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Import a subset of a surface"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("master surface file");
diff --git a/utilities/improveMeshQuality/improveMeshQuality.C b/utilities/improveMeshQuality/improveMeshQuality.C
index a81de7b99af8bde16d2aee3b19c92408651e047e..badfd144065fb68ea52ca5fb05bbb4f128de5d55 100644
--- a/utilities/improveMeshQuality/improveMeshQuality.C
+++ b/utilities/improveMeshQuality/improveMeshQuality.C
@@ -23,7 +23,7 @@ License
 
 Description
     Performs point relocations in the mesh (smoothing) in order to
-    improve quality measures. It does not make the mesh invalied.
+    improve quality measures. It does not make the mesh invalid.
 
 \*---------------------------------------------------------------------------*/
 
@@ -38,6 +38,13 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Performs point relocations in the mesh (smoothing) in order to"
+        " improve quality measures."
+    );
+
     argList::validArgs.clear();
 
     argList::addOption("nLoops", "int");
diff --git a/utilities/improveSymmetryPlanes/improveSymmetryPlanes.C b/utilities/improveSymmetryPlanes/improveSymmetryPlanes.C
index 12469edeaf1766f818fe485e235830bb585da381..23e5c1f1acda7baa9b6db0b3f385871ec233dc59 100644
--- a/utilities/improveSymmetryPlanes/improveSymmetryPlanes.C
+++ b/utilities/improveSymmetryPlanes/improveSymmetryPlanes.C
@@ -38,6 +38,13 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Ensures that all mesh points belonging to a symmetryPlane are"
+        " in a plane."
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
diff --git a/utilities/mergeSurfacePatches/mergeSurfacePatches.C b/utilities/mergeSurfacePatches/mergeSurfacePatches.C
index f3e3e3491a91d0c564c820fdb6f33da5adc33838..22d7caf25ad8551bb49afbbb1ba5da51a32e4044 100644
--- a/utilities/mergeSurfacePatches/mergeSurfacePatches.C
+++ b/utilities/mergeSurfacePatches/mergeSurfacePatches.C
@@ -296,6 +296,12 @@ autoPtr<triSurf> mergeSurfacePatches
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Merge the supplied list of patches onto a single patch."
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/meshToFPMA/meshToFPMA.C b/utilities/meshToFPMA/meshToFPMA.C
index 26cc563e168a1b197aa0982e1272968b90cb78a3..5b698e2aaa4080e122ba41fc55392cd71123ac2b 100644
--- a/utilities/meshToFPMA/meshToFPMA.C
+++ b/utilities/meshToFPMA/meshToFPMA.C
@@ -37,6 +37,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Writes the mesh in fpma format readable by AVL's CfdWM"
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
diff --git a/utilities/patchesToSubsets/patchesToSubsets.C b/utilities/patchesToSubsets/patchesToSubsets.C
index 68160dd47dd0cf7da4b3ff50b4603b5b3556ad16..8dbf1f8769647a7819ffec53e0627981d5b5d906 100644
--- a/utilities/patchesToSubsets/patchesToSubsets.C
+++ b/utilities/patchesToSubsets/patchesToSubsets.C
@@ -40,6 +40,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Converts specified patches into subsets"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/preparePar/preparePar.C b/utilities/preparePar/preparePar.C
index 30dd92ad7443c3e7cc420a04d2be2a7e35fda411..300cb01681412df2b9c37fc055cdfb6d30087b72 100644
--- a/utilities/preparePar/preparePar.C
+++ b/utilities/preparePar/preparePar.C
@@ -25,7 +25,7 @@ Application
     Prepares the case for a parallel mesh generation run
 
 Description
-    - creates processor* directories which contain data for processors
+    Creates processor* directories which contain data for processors
 
 \*---------------------------------------------------------------------------*/
 
@@ -41,6 +41,7 @@ int main(int argc, char *argv[])
 {
     argList::addNote
     (
+        "(cfmesh)\n"
         "Create processor directories in preparation for a parallel run"
     );
 
diff --git a/utilities/removeSurfaceFacets/removeSurfaceFacets.C b/utilities/removeSurfaceFacets/removeSurfaceFacets.C
index 5201f8249f782e556e103421643a8cd2bef6aac9..82ce79ad49f13f700419d0f5e0b2b2a90cbf4d98 100644
--- a/utilities/removeSurfaceFacets/removeSurfaceFacets.C
+++ b/utilities/removeSurfaceFacets/removeSurfaceFacets.C
@@ -38,6 +38,13 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Reads the surface mesh, remove the selected facets"
+        " and writes the modified mesh into a new file"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/scaleMesh/scaleMesh.C b/utilities/scaleMesh/scaleMesh.C
index 73302e7cd5ffa672acdb8f01bee0a111d0da5c32..c496c60380d04a645fbde84d2614158c4560fd79 100644
--- a/utilities/scaleMesh/scaleMesh.C
+++ b/utilities/scaleMesh/scaleMesh.C
@@ -37,6 +37,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Scales the mesh into other units"
+    );
+
     argList::validArgs.append("scalingFactor");
 
     #include "setRootCase.H"
diff --git a/utilities/scaleSurfaceMesh/scaleSurfaceMesh.C b/utilities/scaleSurfaceMesh/scaleSurfaceMesh.C
index 6248249e6efbd68784a0ff5db1b7146ef51cc7d2..a71ebc5f3e5e8ba1279b66fa0d7d260cd2e41d53 100644
--- a/utilities/scaleSurfaceMesh/scaleSurfaceMesh.C
+++ b/utilities/scaleSurfaceMesh/scaleSurfaceMesh.C
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Description
-    Scales surface vertices by a precribed factor.
+    Scales surface vertices by a prescribed factor.
 
 \*---------------------------------------------------------------------------*/
 
@@ -39,6 +39,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Scales surface vertices by a prescribed factor"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("input surface file");
diff --git a/utilities/subsetToPatch/subsetToPatch.C b/utilities/subsetToPatch/subsetToPatch.C
index 90d8d257a4e7f2e2e6e0ca4540de0c0886cfa44b..59147e2f73414212bc14012b1feb9fa11de3b6fb 100644
--- a/utilities/subsetToPatch/subsetToPatch.C
+++ b/utilities/subsetToPatch/subsetToPatch.C
@@ -119,6 +119,12 @@ void makePatchFromSubset
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Creates surface patches from surface subsets"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
 
diff --git a/utilities/surfaceFeatureEdges/surfaceFeatureEdges.C b/utilities/surfaceFeatureEdges/surfaceFeatureEdges.C
index c422b4be5b77a6d91cf661131c1ac25e4878a880..079144fd1f4c930de1b4bc353c5e68f6e27539fe 100644
--- a/utilities/surfaceFeatureEdges/surfaceFeatureEdges.C
+++ b/utilities/surfaceFeatureEdges/surfaceFeatureEdges.C
@@ -43,11 +43,17 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Finds feature edges and corners of a triangulated surface"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("input surface file");
     argList::validArgs.append("output surface file");
-    argList::addOption("angle", "scalar");
+    argList::addOption("angle", "scalar", "feature angle (degrees)");
     argList args(argc, argv);
 
     const fileName inFileName(args[1]);
diff --git a/utilities/surfaceGenerateBoundingBox/surfaceGenerateBoundingBox.C b/utilities/surfaceGenerateBoundingBox/surfaceGenerateBoundingBox.C
index c8ae66a0e55155bdc571baf75db0261f9e521ee6..c4c5b46ee6d407bf1b451114d439fb27b339f7d8 100644
--- a/utilities/surfaceGenerateBoundingBox/surfaceGenerateBoundingBox.C
+++ b/utilities/surfaceGenerateBoundingBox/surfaceGenerateBoundingBox.C
@@ -44,6 +44,12 @@ using namespace Foam::Module;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Finds feature edges and corners of a triangulated surface"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("input surface file");
diff --git a/utilities/surfaceToFMS/surfaceToFMS.C b/utilities/surfaceToFMS/surfaceToFMS.C
index 373c497ea94e6c63c7747cbd51f0ac88ea934475..a705a42ec1d16645f15a0a3924115811dd73962b 100644
--- a/utilities/surfaceToFMS/surfaceToFMS.C
+++ b/utilities/surfaceToFMS/surfaceToFMS.C
@@ -37,9 +37,16 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+    argList::addNote
+    (
+        "(cfmesh)\n"
+        "Reads the specified surface and writes it in the fms format"
+    );
+
     argList::noParallel();
     argList::validArgs.clear();
     argList::validArgs.append("input surface file");
+
     argList args(argc, argv);
 
     const fileName inFileName(args[1]);