diff --git a/applications/test/List/ListTest.C b/applications/test/List/ListTest.C
index b9f69fd043691f4c5fc036b65d2ffb956457dc4d..cf5b2d38ec344b9038a7dea52587adba31ec5ec2 100644
--- a/applications/test/List/ListTest.C
+++ b/applications/test/List/ListTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,7 +90,7 @@ int main(int argc, char *argv[])
 
     if (args.optionFound("flag"))
     {
-        Info<<"-flag:" << args.option("flag") << endl;
+        Info<<"-flag:" << args["flag"] << endl;
     }
 
     if (args.optionReadIfPresent<scalar>("float", xxx))
diff --git a/applications/test/ODETest/ODETest.C b/applications/test/ODETest/ODETest.C
index acb444a0a52828e54d233ac88f83d398889cc9b3..1da2f700c58c8044b365cecbff8d73ebd2dfc042 100644
--- a/applications/test/ODETest/ODETest.C
+++ b/applications/test/ODETest/ODETest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -109,10 +109,8 @@ int main(int argc, char *argv[])
     argList::validArgs.append("ODESolver");
     argList args(argc, argv);
 
-    word ODESolverName(args.additionalArgs()[0]);
-
     testODE ode;
-    autoPtr<ODESolver> odeSolver = ODESolver::New(ODESolverName, ode);
+    autoPtr<ODESolver> odeSolver = ODESolver::New(args[1], ode);
 
     scalar xStart = 1.0;
     scalarField yStart(ode.nEqns());
diff --git a/applications/test/PackedList/PackedListTest.C b/applications/test/PackedList/PackedListTest.C
index e5670b3cbe91c9c033d01b0f8984fed4e3256e34..d203fad8931b903209cd7857c0deb03f2a4dbda7 100644
--- a/applications/test/PackedList/PackedListTest.C
+++ b/applications/test/PackedList/PackedListTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,15 +130,15 @@ int main(int argc, char *argv[])
 
         return 0;
     }
-    else if (args.additionalArgs().empty())
+    else if (args.size() <= 1)
     {
         args.printUsage();
     }
 
 
-    forAll(args.additionalArgs(), argI)
+    for (label argI=1; argI < args.size(); ++argI)
     {
-        const string& srcFile = args.additionalArgs()[argI];
+        const string& srcFile = args[argI];
         Info<< nl << "reading " << srcFile << nl;
 
         IFstream ifs(srcFile);
diff --git a/applications/test/dictionary/dictionaryTest.C b/applications/test/dictionary/dictionaryTest.C
index ff2add8169b156cd75213095cfad581c9d286daa..fac8dd663103fdc03a87800e7b51fd8c7d3b46f1 100644
--- a/applications/test/dictionary/dictionaryTest.C
+++ b/applications/test/dictionary/dictionaryTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
         << "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl
         << endl;
 
-    if (args.additionalArgs().empty())
+    if (args.size() <= 1)
     {
         {
             dictionary dict1(IFstream("testDict")());
@@ -114,9 +114,9 @@ int main(int argc, char *argv[])
     else
     {
         IOobject::writeDivider(Info);
-        forAll(args.additionalArgs(), argI)
+        for (label argI=1; argI < args.size(); ++argI)
         {
-            const string& dictFile = args.additionalArgs()[argI];
+            const string& dictFile = args[argI];
             IFstream is(dictFile);
 
             dictionary dict(is);
diff --git a/applications/test/fileNameClean/fileNameCleanTest.C b/applications/test/fileNameClean/fileNameCleanTest.C
index ce52da1e00e745a21195e100be72d0a78c5ab8f1..62c78fbd0fb514cd94a20f2160596bd2c795cf79 100644
--- a/applications/test/fileNameClean/fileNameCleanTest.C
+++ b/applications/test/fileNameClean/fileNameCleanTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv, false, true);
 
-    if (args.additionalArgs().empty() && args.options().empty())
+    if (args.size() <= 1 && args.options().empty())
     {
         args.printUsage();
     }
@@ -90,9 +90,9 @@ int main(int argc, char *argv[])
         printCleaning(pathName);
     }
 
-    forAll(args.additionalArgs(), argI)
+    for (label argI=1; argI < args.size(); ++argI)
     {
-        pathName = args.additionalArgs()[argI];
+        pathName = args[argI];
         printCleaning(pathName);
     }
 
diff --git a/applications/test/findCell-octree/findCell-octree.C b/applications/test/findCell-octree/findCell-octree.C
index 1a845d7029c9563886c2a614c80a31d05ece8b66..a2436852fa630bf737f05d3cd014af8361a508d3 100644
--- a/applications/test/findCell-octree/findCell-octree.C
+++ b/applications/test/findCell-octree/findCell-octree.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 #   include "createMesh.H"
 
-    point sample(IStringStream(args.additionalArgs()[0])());
+    const point sample = args.argRead<point>(1);
 
     treeBoundBox meshBb(mesh.points());
 
@@ -82,8 +82,8 @@ int main(int argc, char *argv[])
     );
 
     Info<< "Point:" << sample << " is in shape "
-        << oc.find(sample) << endl;
-    Info<< "Point:" << sample << " is in cell  "
+        << oc.find(sample) << nl
+        << "Point:" << sample << " is in cell  "
         << mesh.findCell(sample) << endl;
 
 
diff --git a/applications/test/mvBak/mvBakTest.C b/applications/test/mvBak/mvBakTest.C
index 5cc25161dd54516f1566f171925eadbbbc6ae33c..a88d1cfd750168fcd743d17588487d745db7b000 100644
--- a/applications/test/mvBak/mvBakTest.C
+++ b/applications/test/mvBak/mvBakTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,20 +45,20 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv, false, true);
 
-    if (args.additionalArgs().empty())
+    if (args.size() <= 1)
     {
         args.printUsage();
     }
 
     label ok = 0;
 
-    forAll(args.additionalArgs(), argI)
+    for (label argI=1; argI < args.size(); ++argI)
     {
-        const string& srcFile = args.additionalArgs()[argI];
+        const string& srcFile = args[argI];
 
         if (args.optionFound("ext"))
         {
-            if (mvBak(srcFile, args.option("ext")))
+            if (mvBak(srcFile, args["ext"]))
             {
                 ok++;
             }
@@ -72,7 +72,7 @@ int main(int argc, char *argv[])
         }
     }
 
-    Info<< "mvBak called for " << args.additionalArgs().size()
+    Info<< "mvBak called for " << args.size()-1
         << " files (moved " << ok << ")\n" << endl;
 
     return 0;
diff --git a/applications/test/passiveParticle/passiveParticleTest.C b/applications/test/passiveParticle/passiveParticleTest.C
index 15ba56f4faef9275bf25eee2d798395e94461a53..e03cb70e07e72d7ec895f9378ddcdc54bda1d355 100644
--- a/applications/test/passiveParticle/passiveParticleTest.C
+++ b/applications/test/passiveParticle/passiveParticleTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2007 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     runTime.functionObjects().off();
 
-    const word cloudName(args.additionalArgs()[0]);
+    const word cloudName = args[1];
 
     {
         // Start with empty cloud
diff --git a/applications/test/primitivePatch/testPrimitivePatch.C b/applications/test/primitivePatch/testPrimitivePatch.C
index cf24ab3435f7fe5be5d5dca5e3ec2ab45b36ae5e..b6ac551d768477eeb3f1395233049bc5a74da203 100644
--- a/applications/test/primitivePatch/testPrimitivePatch.C
+++ b/applications/test/primitivePatch/testPrimitivePatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -221,7 +221,7 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 #   include "createPolyMesh.H"
 
-    word patchName(args.additionalArgs()[0]);
+    const word patchName = args[1];
 
     label patchI = mesh.boundaryMesh().findPatchID(patchName);
 
diff --git a/applications/test/readCHEMKINIII/readCHEMKINIII.C b/applications/test/readCHEMKINIII/readCHEMKINIII.C
index 01653ae705946dc92da3d8fa3111e1046569ff99..d7f06bb061348b912b5dbdab1064ded45de94f3d 100644
--- a/applications/test/readCHEMKINIII/readCHEMKINIII.C
+++ b/applications/test/readCHEMKINIII/readCHEMKINIII.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,20 +42,15 @@ int main(int argc, char *argv[])
     argList args(argc, argv);
 
     fileName thermoFileName = fileName::null;
-    if (args.options().found("thermo"))
-    {
-        thermoFileName = args.options()["thermo"];
-    }
-
-    fileName CHEMKINFileName(args.additionalArgs()[0]);
+    args.optionReadIfPresent("thermo", thermoFileName);
 
-    chemkinReader ck(CHEMKINFileName, thermoFileName);
+    chemkinReader ck(args[1], thermoFileName);
 
-    //Info<< ck.isotopeAtomicWts() << endl;
-    //Info<< ck.specieNames() << endl;
-    //Info<< ck.speciePhase() << endl;
-    //Info<< ck.specieThermo() << endl;
-    //Info<< ck.reactions() << endl;
+    //Info<< ck.isotopeAtomicWts() << nl
+    //    << ck.specieNames() << nl
+    //    << ck.speciePhase() << nl
+    //    << ck.specieThermo() << nl
+    //    << ck.reactions() << endl;
 
     const SLPtrList<gasReaction>& reactions = ck.reactions();
 
diff --git a/applications/test/spline/splineTest.C b/applications/test/spline/splineTest.C
index 3d92a7dd241357d2a840cfa456d4503953c84607..600bf0d4f5d4230ea0101c7fc8671cddbd81364a 100644
--- a/applications/test/spline/splineTest.C
+++ b/applications/test/spline/splineTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2009-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv, false, true);
 
-    if (args.additionalArgs().empty())
+    if (args.size() <= 1)
     {
         args.printUsage();
     }
@@ -73,9 +73,9 @@ int main(int argc, char *argv[])
         useCatmullRom = true;
     }
 
-    forAll(args.additionalArgs(), argI)
+    for (label argI=1; argI < args.size(); ++argI)
     {
-        const string& srcFile = args.additionalArgs()[argI];
+        const string& srcFile = args[argI];
         Info<< nl << "reading " << srcFile << nl;
         IFstream ifs(srcFile);
 
diff --git a/applications/test/testPointEdgeWave/testPointEdgeWave.C b/applications/test/testPointEdgeWave/testPointEdgeWave.C
index 10856cbead9564fcf9ba5601a66eab5aab87913d..9011d8735dd988c3a43eabe0eeaa449bad3f2bc9 100644
--- a/applications/test/testPointEdgeWave/testPointEdgeWave.C
+++ b/applications/test/testPointEdgeWave/testPointEdgeWave.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
     const polyBoundaryMesh& patches = mesh.boundaryMesh();
 
     // Get name of patch
-    word patchName(args.additionalArgs()[0]);
+    const word patchName = args[1];
 
     // Find the label in patches by name.
     label patchI = patches.findPatchID(patchName);
diff --git a/applications/test/tokenizeTest/tokenizeTest.C b/applications/test/tokenizeTest/tokenizeTest.C
index c8be29cbf35383c4885640547f9a613e16984dec..e70c4e336151507f33708c0fceb23610b76bae9c 100644
--- a/applications/test/tokenizeTest/tokenizeTest.C
+++ b/applications/test/tokenizeTest/tokenizeTest.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,9 +54,9 @@ int main(int argc, char *argv[])
     cpuTime timer;
     for (label count = 0; count < repeat; ++count)
     {
-        forAll(args.additionalArgs(), argI)
+        for (label argI=1; argI < args.size(); ++argI)
         {
-            const string& rawArg = args.additionalArgs()[argI];
+            const string& rawArg = args[argI];
             if (count == 0)
             {
                 Info<< "input string: " << rawArg << nl;
@@ -94,11 +94,11 @@ int main(int argc, char *argv[])
     {
         for (label count = 0; count < repeat; ++count)
         {
-            IFstream is(args.option("file"));
+            IFstream is(args["file"]);
 
             if (count == 0)
             {
-                Info<< "tokenizing file: " << args.option("file") << nl;
+                Info<< "tokenizing file: " << args["file"] << nl;
             }
 
             while (is.good())
diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict
index d2d9941d63d11f7c2e220a15594f52b122c84619..9c57e17dbf70a84b8d7155cf2b96babd832612cb 100644
--- a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict
+++ b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict
@@ -17,7 +17,7 @@ FoamFile
 
 
 // Surface to keep to
-surface         "plexi.ftr";
+surface         "plexi.obj";
 
 // What is outside. These points have to be inside a cell (so not on a face!)
 outsidePoints   ((-0.99001 -0.99001 -0.99001));
diff --git a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
index 3f1f29b29846d86447fe029442dd3994304b6a8f..a0e2b15f34f17c15b190761b3030bb4be2326cf0 100644
--- a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
+++ b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -453,8 +453,8 @@ label simplifyFaces
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::noParallel();
-    argList::addBoolOption("overwrite");
     argList::validArgs.append("edge length [m]");
     argList::validArgs.append("merge angle (degrees)");
 
@@ -464,9 +464,9 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    scalar minLen(readScalar(IStringStream(args.additionalArgs()[0])()));
-    scalar angle(readScalar(IStringStream(args.additionalArgs()[1])()));
-    bool overwrite = args.optionFound("overwrite");
+    const scalar minLen  = args.argRead<scalar>(1);
+    const scalar angle   = args.argRead<scalar>(2);
+    const bool overwrite = args.optionFound("overwrite");
 
     scalar maxCos = Foam::cos(degToRad(angle));
 
diff --git a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C
index fa055e2758fb85235933cc50f41f08cbe03686e8..e16fe07cffc17ef408a06129471826ff672a7a6a 100644
--- a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C
+++ b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -428,10 +428,17 @@ label mergeEdges(const scalar minCos, polyMesh& mesh)
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
+
     argList::validArgs.append("feature angle [0..180]");
-    argList::addOption("concaveAngle", "[0..180]");
+    argList::addOption
+    (
+        "concaveAngle",
+        "[0..180]",
+        "specify concave angle [0..180] degrees (default: 30.0 degrees)"
+    );
+
     argList::addBoolOption("snapMesh");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -439,18 +446,16 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])()));
-
-    scalar minCos = Foam::cos(degToRad(featureAngle));
+    const scalar featureAngle = args.argRead<scalar>(1);
+    const scalar minCos = Foam::cos(degToRad(featureAngle));
 
     // Sin of angle between two consecutive edges on a face.
     // If sin(angle) larger than this the face will be considered concave.
     scalar concaveAngle = args.optionLookupOrDefault("concaveAngle", 30.0);
-
     scalar concaveSin = Foam::sin(degToRad(concaveAngle));
 
-    bool snapMeshDict = args.optionFound("snapMesh");
-    bool overwrite = args.optionFound("overwrite");
+    const bool snapMeshDict = args.optionFound("snapMesh");
+    const bool overwrite = args.optionFound("overwrite");
 
     Info<< "Merging all faces of a cell" << nl
         << "    - which are on the same patch" << nl
diff --git a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C
index b46a421eb37c35c99781a2f40014a3712ecaf014..c57820803e87e540fcde98497aeba1d77cef60c0 100644
--- a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C
+++ b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -328,7 +328,7 @@ label findCell(const primitiveMesh& mesh, const point& nearPoint)
 
 int main(int argc, char *argv[])
 {
-    argList::addBoolOption("overwrite");
+#   include "addOverwriteOption.H"
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -336,7 +336,7 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    bool overwrite = args.optionFound("overwrite");
+    const bool overwrite = args.optionFound("overwrite");
 
     Info<< "Reading modifyMeshDict\n" << endl;
 
diff --git a/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C b/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C
index 6175bd4e168bcdf6efab04f11cffad11500e83d4..cb87a9f568f79a86d01fcadf339730361618f075 100644
--- a/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C
+++ b/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,8 +52,9 @@ using namespace Foam;
 // Main program:
 int main(int argc, char *argv[])
 {
-    argList::addBoolOption("overwrite");
+#   include "addOverwriteOption.H"
     argList::validArgs.append("cellSet");
+
 #   include "setRootCase.H"
 #   include "createTime.H"
     runTime.functionObjects().off();
@@ -63,7 +64,7 @@ int main(int argc, char *argv[])
     pointMesh pMesh(mesh);
 
     word cellSetName(args.args()[1]);
-    bool overwrite = args.optionFound("overwrite");
+    const bool overwrite = args.optionFound("overwrite");
 
     Info<< "Reading cells to refine from cellSet " << cellSetName
         << nl << endl;
diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
index 731eac7855b059c01cd3ea7ed09314a35340735b..c6ad157d236b993e5d0b35fb9c0b2ea423bf4a6e 100644
--- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
+++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,12 +47,12 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::noParallel();
     argList::validArgs.append("patchName");
     argList::validArgs.append("edgeWeight");
 
     argList::addOption("useSet", "cellSet");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -60,11 +60,9 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    word patchName(args.additionalArgs()[0]);
-
-    scalar weight(readScalar(IStringStream(args.additionalArgs()[1])()));
-    bool overwrite = args.optionFound("overwrite");
-
+    const word patchName = args[1];
+    const scalar weight  = args.argRead<scalar>(2);
+    const bool overwrite = args.optionFound("overwrite");
 
     label patchID = mesh.boundaryMesh().findPatchID(patchName);
 
@@ -103,20 +101,17 @@ int main(int argc, char *argv[])
     // List of cells to refine
     //
 
-    bool useSet = args.optionFound("useSet");
-
-    if (useSet)
+    word setName;
+    if (args.optionReadIfPresent("useSet", setName))
     {
-        word setName(args.option("useSet"));
-
-        Info<< "Subsetting cells to cut based on cellSet" << setName << endl
-            << endl;
+        Info<< "Subsetting cells to cut based on cellSet"
+            << setName << nl << endl;
 
         cellSet cells(mesh, setName);
 
         Info<< "Read " << cells.size() << " cells from cellSet "
             << cells.instance()/cells.local()/cells.name()
-            << endl << endl;
+            << nl << endl;
 
         for
         (
@@ -127,8 +122,8 @@ int main(int argc, char *argv[])
         {
             cutCells.erase(iter.key());
         }
-        Info<< "Removed from cells to cut all the ones not in set " << setName
-            << endl << endl;
+        Info<< "Removed from cells to cut all the ones not in set "
+            << setName << nl << endl;
     }
 
     // Mark all meshpoints on patch
@@ -182,9 +177,9 @@ int main(int argc, char *argv[])
     allCutEdges.shrink();
     allCutEdgeWeights.shrink();
 
-    Info<< "Cutting:" << endl
-        << "    cells:" << cutCells.size() << endl
-        << "    edges:" << allCutEdges.size() << endl
+    Info<< "Cutting:" << nl
+        << "    cells:" << cutCells.size() << nl
+        << "    edges:" << allCutEdges.size() << nl
         << endl;
 
     // Transfer DynamicLists to straight ones.
diff --git a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C
index a7d13ba2c3de3b8cf7fa79168ce9f8cb9811a308..decd3935cca7787bf510baff47dc6cc66fa8ed70 100644
--- a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C
+++ b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,7 +48,7 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
-    argList::addBoolOption("overwrite");
+#   include "addOverwriteOption.H"
     argList::validArgs.append("faceSet");
 
 #   include "setRootCase.H"
@@ -57,9 +57,8 @@ int main(int argc, char *argv[])
 #   include "createMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    bool overwrite = args.optionFound("overwrite");
-
-    word setName(args.additionalArgs()[0]);
+    const word setName = args[1];
+    const bool overwrite = args.optionFound("overwrite");
 
     // Read faces
     faceSet candidateSet(mesh, setName);
diff --git a/applications/utilities/mesh/advanced/selectCells/selectCellsDict b/applications/utilities/mesh/advanced/selectCells/selectCellsDict
index eb10e23d7880fefd65caa91ab5f009d0a8f17046..87f91eafb40ef9afbbfbeeb0bee439cee8a13a31 100644
--- a/applications/utilities/mesh/advanced/selectCells/selectCellsDict
+++ b/applications/utilities/mesh/advanced/selectCells/selectCellsDict
@@ -21,7 +21,7 @@ FoamFile
 useSurface      false;
 
 // Surface to keep to
-surface         "plexi.ftr";
+surface         "plexi.obj";
 
 // What is outside
 outsidePoints   ((-1 -1 -1));
diff --git a/applications/utilities/mesh/advanced/splitCells/splitCells.C b/applications/utilities/mesh/advanced/splitCells/splitCells.C
index 1e1548f517e281544167e6ad3a896d5530b60742..af7023cbb0a0a9e28b0065d027e79ff267817c8d 100644
--- a/applications/utilities/mesh/advanced/splitCells/splitCells.C
+++ b/applications/utilities/mesh/advanced/splitCells/splitCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -524,11 +524,11 @@ void collectCuts
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::noParallel();
     argList::addOption("set", "cellSet name");
     argList::addBoolOption("geometry");
     argList::addOption("tol", "edge snap tolerance");
-    argList::addBoolOption("overwrite");
     argList::validArgs.append("edge angle [0..360]");
 
 #   include "setRootCase.H"
@@ -537,14 +537,13 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])()));
+    const scalar featureAngle = args.argRead<scalar>(1);
+    const scalar minCos = Foam::cos(degToRad(featureAngle));
+    const scalar minSin = Foam::sin(degToRad(featureAngle));
 
-    scalar minCos = Foam::cos(degToRad(featureAngle));
-    scalar minSin = Foam::sin(degToRad(featureAngle));
-
-    bool readSet   = args.optionFound("set");
-    bool geometry  = args.optionFound("geometry");
-    bool overwrite = args.optionFound("overwrite");
+    const bool readSet   = args.optionFound("set");
+    const bool geometry  = args.optionFound("geometry");
+    const bool overwrite = args.optionFound("overwrite");
 
     scalar edgeTol = args.optionLookupOrDefault("tol", 0.2);
 
@@ -553,7 +552,7 @@ int main(int argc, char *argv[])
         << "edge snapping tol : " << edgeTol << nl;
     if (readSet)
     {
-        Info<< "candidate cells   : cellSet " << args.option("set") << nl;
+        Info<< "candidate cells   : cellSet " << args["set"] << nl;
     }
     else
     {
@@ -581,7 +580,7 @@ int main(int argc, char *argv[])
     if (readSet)
     {
         // Read cells to cut from cellSet
-        cellSet cells(mesh, args.option("set"));
+        cellSet cells(mesh, args["set"]);
 
         cellsToCut = cells;
     }
diff --git a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C
index 671c9e7a7ef3a93361c3595660781b65947326d5..76fb67afa1f529ead3024dff86b5f61a6b25840d 100644
--- a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C
+++ b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -615,7 +615,7 @@ int main(int argc, char *argv[])
     wordList foamPatchNames;
 
     {
-        fileName ccmFile(args.additionalArgs()[0]);
+        const fileName ccmFile = args[1];
 
         if (!isFile(ccmFile))
         {
diff --git a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L
index d07eeb7b69629255a079f96dfb8f88a0a8ffb99a..f452a9f083b3f7449a45bf52575871d71cf460b8 100644
--- a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L
+++ b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,8 @@ Application
     ansysToFoam
 
 Description
-    Converts an ANSYS input mesh file, exported from I-DEAS, to FOAM format.
+    Converts an ANSYS input mesh file, exported from I-DEAS,
+    to OpenFOAM format.
 
 \*---------------------------------------------------------------------------*/
 
@@ -252,7 +253,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    fileName ansysFile(args.additionalArgs()[0]);
+    const fileName ansysFile = args[1];
     ifstream ansysStream(ansysFile.c_str());
 
     if (!ansysStream)
diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C
index 7ddfeb5fa23e90a649a755255cc0211d3c6dd039..be693be7377aa94c53e57eb7eb645f2032f3cca7 100644
--- a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C
+++ b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ Application
     cfx4ToFoam
 
 Description
-    Converts a CFX 4 mesh to FOAM format
+    Converts a CFX 4 mesh to OpenFOAM format
 
 \*---------------------------------------------------------------------------*/
 
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    IFstream cfxFile(args.additionalArgs()[0]);
+    IFstream cfxFile(args[1]);
 
     // Read the cfx information using a fixed format reader.
     // Comments in the file are in C++ style, so the stream parser will remove
@@ -603,7 +603,7 @@ int main(int argc, char *argv[])
                 Info<< "CFX patch " << patchI
                     << ", of type " << cfxPatchTypes[patchI]
                     << ", name " << cfxPatchNames[patchI]
-                    << " already exists as FOAM patch " << existingPatch
+                    << " already exists as OpenFOAM patch " << existingPatch
                     << ".  Adding faces." << endl;
 
                 faceList& renumberedPatch = boundary[existingPatch];
@@ -655,7 +655,7 @@ int main(int argc, char *argv[])
                 Info<< "CFX patch " << patchI
                     << ", of type " << cfxPatchTypes[patchI]
                     << ", name " << cfxPatchNames[patchI]
-                    << " converted into FOAM patch " << nCreatedPatches
+                    << " converted into OpenFOAM patch " << nCreatedPatches
                     << " type ";
 
                 if (cfxPatchTypes[patchI] == "WALL")
diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
index 333188c072b7aea06a31559985bebbb674f8034c..b810511a7604829a7b45d414833e1e48f08e45f9 100644
--- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
+++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -795,7 +795,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    fileName fluentFile(args.additionalArgs()[0]);
+    const fileName fluentFile = args[1];
     IFstream fluentStream(fluentFile);
 
     if (!fluentStream)
diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L
index 79a6d75633fa2682bc99a0e71a87cf64dfec0092..2b75740021ed6f17743282808336d343df622956 100644
--- a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L
+++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ Application
     fluentMeshToFoam
 
 Description
-    Converts a Fluent mesh to FOAM format
+    Converts a Fluent mesh to OpenFOAM format
     including multiple region and region boundary handling.
 
 \*---------------------------------------------------------------------------*/
@@ -881,12 +881,12 @@ int main(int argc, char *argv[])
     scalar scaleFactor = 1.0;
     args.optionReadIfPresent("scale", scaleFactor);
 
-    bool writeSets  = args.optionFound("writeSets");
-    bool writeZones = args.optionFound("writeZones");
+    const bool writeSets  = args.optionFound("writeSets");
+    const bool writeZones = args.optionFound("writeZones");
 
 #   include "createTime.H"
 
-    fileName fluentFile(args.additionalArgs()[0]);
+    const fileName fluentFile = args[1];
     std::ifstream fluentStream(fluentFile.c_str());
 
     if (!fluentStream)
diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C b/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C
index 00b6874b5b256324820bcc3b2073652a8a94b6fa..79f2c4753e0c7eb6f97e6f9682d144570ade9e3d 100644
--- a/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C
+++ b/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C
@@ -199,7 +199,8 @@ void Foam::fluentFvMesh::writeFluentMesh() const
             fluentMeshFile << l.size() << " ";
 
             // Note: In Fluent, all boundary faces point inwards, which is
-            // opposite from the FOAM convention. Turn them round on printout
+            // opposite from the OpenFOAM convention.
+            // Turn them around on printout
             forAllReverse (l, lI)
             {
                 fluentMeshFile << l[lI] + 1 << " ";
diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C b/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C
index a4d8b25f3be24cf67d4379cc85c9e177ab95e06d..b9ce333256144ba45d5f7c07f408f0f90a1218a7 100644
--- a/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C
+++ b/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Description
-    Writes out the FOAM mesh in Fluent mesh format.
+    Writes out the OpenFOAM mesh in Fluent mesh format.
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C b/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C
index b1c55e37693ac142f5f989173c54970c67f36508..835f3cd14f93fa9f752e9259b7f5d1c31796a108 100644
--- a/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C
+++ b/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C
@@ -73,14 +73,12 @@ int main(int argc, char *argv[])
 
 #   include "setRootCase.H"
 
-    const stringList& params = args.additionalArgs();
+    fileName exportName = args[1];
 
     scalar scaleFactor = 0;
     args.optionReadIfPresent<scalar>("scale", scaleFactor);
     const bool doTriangulate = args.optionFound("tri");
 
-    fileName exportName(params[0]);
-
     fileName exportBase = exportName.lessExt();
     word exportExt = exportName.ext();
 
diff --git a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L
index b17e1f6c99488257b198003a4d36fcdcf304922e..36be409753d3eb00afba9e1757615cc2e6cf6f19 100644
--- a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L
+++ b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ Application
     gambitToFoam
 
 Description
-    Converts a GAMBIT mesh to FOAM format.
+    Converts a GAMBIT mesh to OpenFOAM format.
 
 \*---------------------------------------------------------------------------*/
 
@@ -653,7 +653,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    fileName gambitFile(args.additionalArgs()[0]);
+    const fileName gambitFile = args[1];
     ifstream gambitStream(gambitFile.c_str());
 
     if (!gambitStream)
diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C
index 45d144e8ab79e9e290b35bc44767b65ffa58742d..8218a0cb52275a4bbc5a6624ae077355f3f171f2 100644
--- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C
+++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -722,9 +722,8 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    fileName mshName(args.additionalArgs()[0]);
-
-    bool keepOrientation = args.optionFound("keepOrientation");
+    const bool keepOrientation = args.optionFound("keepOrientation");
+    IFstream inFile(args[1]);
 
     // Storage for points
     pointField points;
@@ -749,9 +748,6 @@ int main(int argc, char *argv[])
     // Version 1 or 2 format
     bool version2Format = false;
 
-
-    IFstream inFile(mshName);
-
     while (inFile.good())
     {
         string line;
diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C
index 259ccd2069b02213f3cc48f12dbe04bf4def823e..2a369cc68a92225772484a5cec7f6fbdf609c249 100644
--- a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C
+++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -595,9 +595,8 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    fileName ideasName(args.additionalArgs()[0]);
-
-    IFstream inFile(ideasName.c_str());
+    const fileName ideasName = args[1];
+    IFstream inFile(ideasName);
 
     if (!inFile.good())
     {
diff --git a/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C b/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C
index dbd32851bfba14feefbad3a98a772ab1521b571f..153c15e8ae51b8eb1510c61ed5367c501644a961 100644
--- a/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C
+++ b/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ Application
     kivaToFoam
 
 Description
-    Converts a KIVA3v grid to FOAM format
+    Converts a KIVA3v grid to OpenFOAM format
 
 \*---------------------------------------------------------------------------*/
 
@@ -68,15 +68,12 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 
     fileName kivaFileName("otape17");
-    if (args.optionFound("file"))
-    {
-        kivaFileName = args.option("file");
-    }
+    args.optionReadIfPresent("file", kivaFileName);
 
     kivaVersions kivaVersion = kiva3v;
     if (args.optionFound("version"))
     {
-        word kivaVersionName = args.option("version");
+        const word kivaVersionName = args["version"];
 
         if (kivaVersionName == "kiva3")
         {
diff --git a/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C b/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C
index 1beea38d029568dfb78a2afa8bac6dbccd5c9670..033230870248d7954fbd5743f4fa6b3a6455a13a 100644
--- a/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C
+++ b/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,10 +62,8 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    bool readHex = args.optionFound("hex");
-
-    fileName mshFile(args.additionalArgs()[0]);
-    IFstream mshStream(mshFile);
+    const bool readHex = args.optionFound("hex");
+    IFstream mshStream(args[1]);
 
     label nCells;
     mshStream >> nCells;
diff --git a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C
index 41080fde783799b158a71eb898acd8dd0107294c..aaade87a07a7523d82c401dc6934630aea2fe472 100644
--- a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C
+++ b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,11 +93,7 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    fileName neuFile(args.additionalArgs()[0]);
-
-
-    IFstream str(neuFile);
-
+    IFstream str(args[1]);
 
     //
     // Read nodes.
@@ -106,7 +102,6 @@ int main(int argc, char *argv[])
 
     Info<< "nNodes:" << nNodes << endl;
 
-
     pointField points(nNodes);
 
     forAll(points, pointI)
diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C b/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C
index 0f2c18732b8c996183e773bb95922451d578526d..52a64d6ddeace75675ade4f46325f88bc480c476 100644
--- a/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C
+++ b/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    IFstream plot3dFile(args.additionalArgs()[0]);
+    IFstream plot3dFile(args[1]);
 
     // Read the plot3d information using a fixed format reader.
     // Comments in the file are in C++ style, so the stream parser will remove
diff --git a/applications/utilities/mesh/conversion/polyDualMesh/polyDualMeshApp.C b/applications/utilities/mesh/conversion/polyDualMesh/polyDualMeshApp.C
index df229e4bf0428e59183165c350a32c6cc65476ad..0ccb7a686202a727242ab81ba062d4a4a0db30ba 100644
--- a/applications/utilities/mesh/conversion/polyDualMesh/polyDualMeshApp.C
+++ b/applications/utilities/mesh/conversion/polyDualMesh/polyDualMeshApp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -353,6 +353,7 @@ void dumpFeatures
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::noParallel();
     timeSelector::addOptions(true, false);
 
@@ -360,7 +361,6 @@ int main(int argc, char *argv[])
     argList::addBoolOption("splitAllFaces");
     argList::addBoolOption("concaveMultiCells");
     argList::addBoolOption("doNotPreserveFaceZones");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -385,9 +385,8 @@ int main(int argc, char *argv[])
         }
     }
 
-    scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])()));
-
-    scalar minCos = Foam::cos(degToRad(featureAngle));
+    const scalar featureAngle = args.argRead<scalar>(1);
+    const scalar minCos = Foam::cos(degToRad(featureAngle));
 
     Info<< "Feature:" << featureAngle << endl
         << "minCos :" << minCos << endl
diff --git a/applications/utilities/mesh/conversion/sammToFoam/readPoints.C b/applications/utilities/mesh/conversion/sammToFoam/readPoints.C
index 1b83a20d3051d4bb00abd62fa8cf96b13b5d9b0a..76e182dc122b2a5d94e6419d18a4335630af242b 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/readPoints.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/readPoints.C
@@ -30,6 +30,6 @@ Description
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #define starMesh sammMesh
-#include "../starToFoam/readPoints.C"
+#include "../star3ToFoam/readPoints.C"
 
 // ************************************************************************* //
diff --git a/applications/utilities/mesh/conversion/sammToFoam/sammMesh.C b/applications/utilities/mesh/conversion/sammToFoam/sammMesh.C
index 3a57153c071291488d844f6c07c33c4982bd1d29..5b0ef44ab4f5ae56e9d8d7f5d2e1979e54f6db3d 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/sammMesh.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/sammMesh.C
@@ -47,7 +47,7 @@ const cellModel* sammMesh::sammTrim4Ptr_ = cellModeller::lookup("sammTrim4");
 const cellModel* sammMesh::sammTrim5Ptr_ = cellModeller::lookup("sammTrim5");
 const cellModel* sammMesh::sammTrim8Ptr_ = cellModeller::lookup("hexagonalPrism");
 
-// lookup table giving FOAM face number when looked up with shape index
+// lookup table giving OpenFOAM face number when looked up with shape index
 // (first index) and STAR face number
 // - first column is always -1
 // - last column is -1 for all but hexagonal prism
diff --git a/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C b/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C
index d4bfaa47e23d345e5754b15a451897767baa653e..c1bb529cd6c7b5700de0c288ae27d4411f630dbd 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ Application
     sammToFoam
 
 Description
-    Converts a STAR-CD SAMM mesh to FOAM format
+    Converts a Star-CD (v3) SAMM mesh to OpenFOAM format.
 
 \*---------------------------------------------------------------------------*/
 
@@ -54,8 +54,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    fileName sammFile(args.additionalArgs()[0]);
-    sammMesh makeMesh(sammFile, runTime, scaleFactor);
+    sammMesh makeMesh(args[1], runTime, scaleFactor);
 
     // Set the precision of the points data to 10
     IOstream::defaultPrecision(10);
diff --git a/applications/utilities/mesh/conversion/starToFoam/Make/files b/applications/utilities/mesh/conversion/star3ToFoam/Make/files
similarity index 85%
rename from applications/utilities/mesh/conversion/starToFoam/Make/files
rename to applications/utilities/mesh/conversion/star3ToFoam/Make/files
index cb233cf06906a82444893098dc6b37a2f7304f90..c50cf188d692a088e0dd26276544f3f61c1ce8d6 100644
--- a/applications/utilities/mesh/conversion/starToFoam/Make/files
+++ b/applications/utilities/mesh/conversion/star3ToFoam/Make/files
@@ -14,6 +14,6 @@ createBoundaryFaces.C
 createPolyBoundary.C
 purgeCellShapes.C
 writeMesh.C
-starToFoam.C
+star3ToFoam.C
 
-EXE = $(FOAM_APPBIN)/starToFoam
+EXE = $(FOAM_APPBIN)/star3ToFoam
diff --git a/applications/utilities/mesh/conversion/starToFoam/Make/options b/applications/utilities/mesh/conversion/star3ToFoam/Make/options
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/Make/options
rename to applications/utilities/mesh/conversion/star3ToFoam/Make/options
diff --git a/applications/utilities/mesh/conversion/starToFoam/calcPointCells.C b/applications/utilities/mesh/conversion/star3ToFoam/calcPointCells.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/calcPointCells.C
rename to applications/utilities/mesh/conversion/star3ToFoam/calcPointCells.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/coupledFacePair.C b/applications/utilities/mesh/conversion/star3ToFoam/coupledFacePair.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/coupledFacePair.C
rename to applications/utilities/mesh/conversion/star3ToFoam/coupledFacePair.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/coupledFacePair.H b/applications/utilities/mesh/conversion/star3ToFoam/coupledFacePair.H
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/coupledFacePair.H
rename to applications/utilities/mesh/conversion/star3ToFoam/coupledFacePair.H
diff --git a/applications/utilities/mesh/conversion/starToFoam/createBoundaryFaces.C b/applications/utilities/mesh/conversion/star3ToFoam/createBoundaryFaces.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/createBoundaryFaces.C
rename to applications/utilities/mesh/conversion/star3ToFoam/createBoundaryFaces.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/createCoupleMatches.C b/applications/utilities/mesh/conversion/star3ToFoam/createCoupleMatches.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/createCoupleMatches.C
rename to applications/utilities/mesh/conversion/star3ToFoam/createCoupleMatches.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/createPolyBoundary.C b/applications/utilities/mesh/conversion/star3ToFoam/createPolyBoundary.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/createPolyBoundary.C
rename to applications/utilities/mesh/conversion/star3ToFoam/createPolyBoundary.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/createPolyCells.C b/applications/utilities/mesh/conversion/star3ToFoam/createPolyCells.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/createPolyCells.C
rename to applications/utilities/mesh/conversion/star3ToFoam/createPolyCells.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/fixCollapsedEdges.C b/applications/utilities/mesh/conversion/star3ToFoam/fixCollapsedEdges.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/fixCollapsedEdges.C
rename to applications/utilities/mesh/conversion/star3ToFoam/fixCollapsedEdges.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/mergeCoupleFacePoints.C b/applications/utilities/mesh/conversion/star3ToFoam/mergeCoupleFacePoints.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/mergeCoupleFacePoints.C
rename to applications/utilities/mesh/conversion/star3ToFoam/mergeCoupleFacePoints.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/purgeCellShapes.C b/applications/utilities/mesh/conversion/star3ToFoam/purgeCellShapes.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/purgeCellShapes.C
rename to applications/utilities/mesh/conversion/star3ToFoam/purgeCellShapes.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/readBoundary.C b/applications/utilities/mesh/conversion/star3ToFoam/readBoundary.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/readBoundary.C
rename to applications/utilities/mesh/conversion/star3ToFoam/readBoundary.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/readCells.C b/applications/utilities/mesh/conversion/star3ToFoam/readCells.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/readCells.C
rename to applications/utilities/mesh/conversion/star3ToFoam/readCells.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/readCouples.C b/applications/utilities/mesh/conversion/star3ToFoam/readCouples.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/readCouples.C
rename to applications/utilities/mesh/conversion/star3ToFoam/readCouples.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/readPoints.C b/applications/utilities/mesh/conversion/star3ToFoam/readPoints.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/readPoints.C
rename to applications/utilities/mesh/conversion/star3ToFoam/readPoints.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/readSeparatedPoints.C b/applications/utilities/mesh/conversion/star3ToFoam/readSeparatedPoints.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/readSeparatedPoints.C
rename to applications/utilities/mesh/conversion/star3ToFoam/readSeparatedPoints.C
diff --git a/applications/utilities/mesh/conversion/starToFoam/starToFoam.C b/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C
similarity index 88%
rename from applications/utilities/mesh/conversion/starToFoam/starToFoam.C
rename to applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C
index 90547da3afd5bf1a990c41f11780ddf2f750d40e..29d864e2aa150ec0a97a096d622acafad4db2ac6 100644
--- a/applications/utilities/mesh/conversion/starToFoam/starToFoam.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,10 +23,10 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Application
-    starToFoam
+    star3ToFoam
 
 Description
-    Converts a STAR-CD PROSTAR mesh into FOAM format.
+    Converts a Star-CD (v3) pro-STAR mesh into OpenFOAM format.
 
 \*---------------------------------------------------------------------------*/
 
@@ -54,8 +54,7 @@ int main(int argc, char *argv[])
 
 #   include "createTime.H"
 
-    fileName starMeshFile(args.additionalArgs()[0]);
-    starMesh makeMesh(starMeshFile, runTime, scaleFactor);
+    starMesh makeMesh(args[1], runTime, scaleFactor);
 
     // Set the precision of the points data to 10
     IOstream::defaultPrecision(10);
diff --git a/applications/utilities/mesh/conversion/starToFoam/starMesh.C b/applications/utilities/mesh/conversion/star3ToFoam/starMesh.C
similarity index 99%
rename from applications/utilities/mesh/conversion/starToFoam/starMesh.C
rename to applications/utilities/mesh/conversion/star3ToFoam/starMesh.C
index 9f9ddfe94b5fff50caef4dfead37a9b963e1c3d9..2f20a69e3900444f96adad29aec20330144e5617 100644
--- a/applications/utilities/mesh/conversion/starToFoam/starMesh.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/starMesh.C
@@ -83,7 +83,7 @@ const label starMesh::sammAddressingTable[9][12] =
 };
 
 
-// lookup table giving FOAM face number when looked up with shape index
+// lookup table giving OpenFOAM face number when looked up with shape index
 // (first index) and STAR face number
 // - first column is always -1
 // - last column is -1 for all but hexagonal prism
diff --git a/applications/utilities/mesh/conversion/starToFoam/starMesh.H b/applications/utilities/mesh/conversion/star3ToFoam/starMesh.H
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/starMesh.H
rename to applications/utilities/mesh/conversion/star3ToFoam/starMesh.H
diff --git a/applications/utilities/mesh/conversion/starToFoam/writeMesh.C b/applications/utilities/mesh/conversion/star3ToFoam/writeMesh.C
similarity index 100%
rename from applications/utilities/mesh/conversion/starToFoam/writeMesh.C
rename to applications/utilities/mesh/conversion/star3ToFoam/writeMesh.C
diff --git a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
index e48625230c05af3cbe7b4b1e1cf0fc9f7cfd5c0c..88d51a53c2149bf90436a430d50bebb0ef5605f8 100644
--- a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
+++ b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,7 +81,6 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
     Time runTime(args.rootPath(), args.caseName());
-    const stringList& params = args.additionalArgs();
 
     // default rescale from [mm] to [m]
     scalar scaleFactor = args.optionLookupOrDefault("scale", 0.001);
@@ -103,7 +102,7 @@ int main(int argc, char *argv[])
     IOstream::defaultPrecision(10);
 
     // remove extensions and/or trailing '.'
-    fileName prefix = fileName(params[0]).lessExt();
+    const fileName prefix = fileName(args[1]).lessExt();
 
     meshReaders::STARCD reader(prefix, runTime, scaleFactor);
 
diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
index f830cfc18535e1861e6eb27591cccec967d81b33..7908900a3bfc35d1b061eb9a3a24dbe8da9691f5 100644
--- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
+++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,14 +103,12 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
+    const fileName prefix = args[1];
+    const bool readFaceFile = !args.optionFound("noFaceFile");
 
-    bool readFaceFile = !args.optionFound("noFaceFile");
-
-    fileName prefix(args.additionalArgs()[0]);
-
-    fileName nodeFile(prefix + ".node");
-    fileName eleFile(prefix + ".ele");
-    fileName faceFile(prefix + ".face");
+    const fileName nodeFile(prefix + ".node");
+    const fileName eleFile(prefix + ".ele");
+    const fileName faceFile(prefix + ".face");
 
     if (!readFaceFile)
     {
diff --git a/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C b/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C
index 47fc9c922f3a8dff0ea6a5958736566d249e12a0..ae35892b08cffdafaae66f603c22871989e4343a 100644
--- a/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C
+++ b/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -463,7 +463,7 @@ int main(int argc, char *argv[])
             }
             if (doCellSet)
             {
-                word setName(args.option("cellSet"));
+                const word setName = args["cellSet"];
 
                 cellSet cells(mesh, setName);
 
@@ -475,7 +475,7 @@ int main(int argc, char *argv[])
             }
             if (doFaceSet)
             {
-                word setName(args.option("faceSet"));
+                const word setName = args["faceSet"];
 
                 faceSet faces(mesh, setName);
 
diff --git a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
index 9140c090ec605054c6619107c6499121627e572a..4efd69cac8f180e5e1e3a43ed9337383b0a960b1 100644
--- a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
+++ b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,7 +110,7 @@ int main(int argc, char *argv[])
 
     if (args.optionFound("dict"))
     {
-        fileName dictPath(args.option("dict"));
+        const fileName dictPath = args["dict"];
 
         meshDictIoPtr.set
         (
diff --git a/applications/utilities/mesh/generation/extrude2DMesh/Make/files b/applications/utilities/mesh/generation/extrude2DMesh/Make/files
index 9153e6dc347581c615aed4cf7ce2919424f4a7e4..8cc4bd86cdfe7a24a9eefb19037eeabc80556be6 100644
--- a/applications/utilities/mesh/generation/extrude2DMesh/Make/files
+++ b/applications/utilities/mesh/generation/extrude2DMesh/Make/files
@@ -1,4 +1,4 @@
 extrude2DMesh.C
-doExtrude2DMesh.C
+extrude2DMeshApp.C
 
 EXE = $(FOAM_APPBIN)/extrude2DMesh
diff --git a/applications/utilities/mesh/generation/extrude2DMesh/doExtrude2DMesh.C b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C
similarity index 95%
rename from applications/utilities/mesh/generation/extrude2DMesh/doExtrude2DMesh.C
rename to applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C
index 0299cade00c112a13970ef939e3cdb6cccc63229..d27176baeb547e1eed911967641f6ee3b2e56402 100644
--- a/applications/utilities/mesh/generation/extrude2DMesh/doExtrude2DMesh.C
+++ b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,6 @@ Usage
 
 Note
     Not sure about the walking of the faces to create the front and back faces.
-    Tested on one .ccm file.
 
 \*---------------------------------------------------------------------------*/
 
@@ -57,16 +56,17 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::validArgs.append("thickness");
-    argList::addBoolOption("overwrite");
+
 #   include "setRootCase.H"
 #   include "createTime.H"
     runTime.functionObjects().off();
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    scalar thickness(readScalar(IStringStream(args.additionalArgs()[0])()));
-    bool overwrite = args.optionFound("overwrite");
+    const scalar thickness = args.argRead<scalar>(1);
+    const bool overwrite   = args.optionFound("overwrite");
 
 
     // Check that mesh is 2D
diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
index 528551eb51a5ba176d2c42df26a50614f41d0301..4ab7a771beaafd2d4be95f18cc6b2ab68312c656 100644
--- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
+++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
@@ -120,11 +120,8 @@ void writeMesh
 
 int main(int argc, char *argv[])
 {
-    argList::addBoolOption
-    (
-        "overwrite",
-        "overwrite existing mesh files"
-    );
+#   include "addOverwriteOption.H"
+
 #   include "setRootCase.H"
 #   include "createTime.H"
     runTime.functionObjects().off();
diff --git a/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C b/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C
index 35247413e1f51c154a762c252969a29bcaf8ece5..066a800ab933cf9ce021c4fa7717f979308bbd0f 100644
--- a/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C
+++ b/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,8 +41,8 @@ using namespace Foam;
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::noParallel();
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    bool overwrite = args.optionFound("overwrite");
+    const bool overwrite = args.optionFound("overwrite");
 
     if (!overwrite)
     {
diff --git a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C
index abad71139266d839b94bb5da7adc8b60a98d10d4..c5fcb20d0543a7cbcfc1393521a1de635f5848e8 100644
--- a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C
+++ b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,9 +69,9 @@ void collectFeatureEdges(const boundaryMesh& bMesh, labelList& markedEdges)
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::noParallel();
     argList::validArgs.append("feature angle[0-180]");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -84,21 +84,20 @@ int main(int argc, char *argv[])
         << " s\n" << endl << endl;
 
 
-    //
-    // Use boundaryMesh to reuse all the featureEdge stuff in there.
-    //
-
-    boundaryMesh bMesh;
-
-    scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])()));
-    bool overwrite = args.optionFound("overwrite");
+    const scalar featureAngle = args.argRead<scalar>(1);
+    const bool overwrite      = args.optionFound("overwrite");
 
-    scalar minCos = Foam::cos(degToRad(featureAngle));
+    const scalar minCos = Foam::cos(degToRad(featureAngle));
 
     Info<< "Feature:" << featureAngle << endl
         << "minCos :" << minCos << endl
         << endl;
 
+    //
+    // Use boundaryMesh to reuse all the featureEdge stuff in there.
+    //
+
+    boundaryMesh bMesh;
     bMesh.read(mesh);
 
     // Set feature angle (calculate feature edges)
diff --git a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
index dc947862224c73c8c513729b0efdb8288d89cde5..06f635ef86c3147f935b1f26cee3229803f35351 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
+++ b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,12 +125,13 @@ label findPatchID(const polyMesh& mesh, const word& name)
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
 #   include "addRegionOption.H"
+
     argList::validArgs.append("faceZone");
     argList::validArgs.append("patch");
     argList::addOption("additionalPatches", "(patch2 .. patchN)");
     argList::addBoolOption("internalFacesOnly");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -142,7 +143,7 @@ int main(int argc, char *argv[])
     const faceZoneMesh& faceZones = mesh.faceZones();
 
     // Faces to baffle
-    faceZoneID zoneID(args.additionalArgs()[0], faceZones);
+    faceZoneID zoneID(args[1], faceZones);
 
     Info<< "Converting faces on zone " << zoneID.name()
         << " into baffles." << nl << endl;
@@ -167,7 +168,7 @@ int main(int argc, char *argv[])
     // Patches to put baffles into
     DynamicList<label> newPatches(1);
 
-    word patchName(args.additionalArgs()[1]);
+    const word patchName = args[2];
     newPatches.append(findPatchID(mesh, patchName));
     Info<< "Using patch " << patchName
         << " at index " << newPatches[0] << endl;
@@ -191,9 +192,8 @@ int main(int argc, char *argv[])
     }
 
 
-    bool overwrite = args.optionFound("overwrite");
-
-    bool internalFacesOnly = args.optionFound("internalFacesOnly");
+    const bool overwrite = args.optionFound("overwrite");
+    const bool internalFacesOnly = args.optionFound("internalFacesOnly");
 
     if (internalFacesOnly)
     {
diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
index d59f7317b9412212bce8799084fe3db66417225c..90f6377b6d60681be64a17d8d348f56181665c21 100644
--- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C
+++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -516,8 +516,8 @@ void syncPoints
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
 #   include "addRegionOption.H"
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
diff --git a/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C b/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C
index f438a1f9637537c09dffbed428cc84d341494fbd..d9e2d89ec94fba264d348820721876a48c714b1b 100644
--- a/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C
+++ b/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
 #   include "setRootCase.H"
 
-    scalar scaleFactor(readScalar(IStringStream(args.additionalArgs()[0])()));
+    const scalar scaleFactor = args.argRead<scalar>(1);
 
 #   include "createTime.H"
 #   include "createMesh.H"
diff --git a/applications/utilities/mesh/manipulation/insideCells/insideCells.C b/applications/utilities/mesh/manipulation/insideCells/insideCells.C
index 194b9a4c556477d79533e378b3beb008623066d8..20ae6041699fbc28c0aedfd46810a355649bdab4 100644
--- a/applications/utilities/mesh/manipulation/insideCells/insideCells.C
+++ b/applications/utilities/mesh/manipulation/insideCells/insideCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,9 +51,8 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 #   include "createPolyMesh.H"
 
-    fileName surfName(args.additionalArgs()[0]);
-    fileName setName(args.additionalArgs()[1]);
-
+    const fileName surfName = args[1];
+    const fileName setName  = args[2];
 
     // Read surface
     Info<< "Reading surface from " << surfName << endl;
diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C b/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C
index 620201ba91795b2bfbb362b3c603811fded8cfba..475d92770dc7b7be970255fd11b4f7d23670051d 100644
--- a/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C
+++ b/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/setRoots.H b/applications/utilities/mesh/manipulation/mergeMeshes/setRoots.H
index 2f421ba957abc7be112fa1f8e013b2b62decbd9d..3d1fdd0132b050324b56971beb69950c9e3a933e 100644
--- a/applications/utilities/mesh/manipulation/mergeMeshes/setRoots.H
+++ b/applications/utilities/mesh/manipulation/mergeMeshes/setRoots.H
@@ -15,13 +15,13 @@
          FatalError.exit();
     }
 
-    fileName rootDirMaster(args.additionalArgs()[0]);
-    fileName caseDirMaster(args.additionalArgs()[1]);
+    fileName rootDirMaster = args[1];
+    fileName caseDirMaster = args[2];
     word masterRegion = polyMesh::defaultRegion;
     args.optionReadIfPresent("masterRegion", masterRegion);
 
-    fileName rootDirToAdd(args.additionalArgs()[2]);
-    fileName caseDirToAdd(args.additionalArgs()[3]);
+    fileName rootDirToAdd = args[3];
+    fileName caseDirToAdd = args[4];
     word addRegion = polyMesh::defaultRegion;
     args.optionReadIfPresent("addRegion", addRegion);
 
@@ -29,3 +29,4 @@
         << "  region " << masterRegion << nl
         << "mesh to add: " << rootDirToAdd << " " << caseDirToAdd
         << "  region " << addRegion << endl;
+
diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C
index 5053c95071c8f117e0d9954394b504f89d78f5b0..c950eb8a9222c54716d871a0ed773c697cc711e6 100644
--- a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C
+++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -222,19 +222,20 @@ labelList findBaffles(const polyMesh& mesh, const labelList& boundaryFaces)
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
 #   include "addRegionOption.H"
     argList::addBoolOption("split");
-    argList::addBoolOption("overwrite");
     argList::addBoolOption("detectOnly");
+
 #   include "setRootCase.H"
 #   include "createTime.H"
     runTime.functionObjects().off();
 #   include "createNamedMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    bool split      = args.optionFound("split");
-    bool overwrite  = args.optionFound("overwrite");
-    bool detectOnly = args.optionFound("detectOnly");
+    const bool split      = args.optionFound("split");
+    const bool overwrite  = args.optionFound("overwrite");
+    const bool detectOnly = args.optionFound("detectOnly");
 
     // Collect all boundary faces
     labelList boundaryFaces(mesh.nFaces() - mesh.nInternalFaces());
diff --git a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
index cf0b6ccd2790117f2e5437c4574186b9c8c528ae..dba1d6d7214136b1844f523dee9727003975393e 100644
--- a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
+++ b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -116,8 +116,8 @@ int main(int argc, char *argv[])
     argList::validArgs.append("output VTK file");
     argList::argList args(argc, argv);
 
-    fileName objName(args.additionalArgs()[0]);
-    fileName outName(args.additionalArgs()[1]);
+    const fileName objName = args[1];
+    const fileName outName = args[2];
 
     std::ifstream OBJfile(objName.c_str());
 
diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
index a33afdf711b450e8fa62760674d7e090519e2034..85da9ce113ba8961dfdd5736c567a9aa934a773a 100644
--- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
+++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -291,8 +291,8 @@ label twoDNess(const polyMesh& mesh)
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::addBoolOption("dict");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -307,8 +307,8 @@ int main(int argc, char *argv[])
     // Read/construct control dictionary
     //
 
-    bool readDict = args.optionFound("dict");
-    bool overwrite = args.optionFound("overwrite");
+    const bool readDict = args.optionFound("dict");
+    const bool overwrite = args.optionFound("overwrite");
 
     // List of cells to refine
     labelList refCells;
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
index 099cdcdeadae62a92e440d1c2b94c4b5557bc9e5..ab310515cc46a408e73a8fba7b3eb51c9459f4ff 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
+++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anispulation  |
 -------------------------------------------------------------------------------
 License
@@ -367,8 +367,8 @@ int main(int argc, char *argv[])
     argList::addBoolOption("blockOrder");
     argList::addBoolOption("orderPoints");
     argList::addBoolOption("writeMaps");
-    argList::addBoolOption("overwrite");
 
+#   include "addOverwriteOption.H"
 #   include "addTimeOptions.H"
 
 #   include "setRootCase.H"
@@ -409,7 +409,7 @@ int main(int argc, char *argv[])
             << endl;
     }
 
-    bool overwrite = args.optionFound("overwrite");
+    const bool overwrite = args.optionFound("overwrite");
 
     label band = getBand(mesh.faceOwner(), mesh.faceNeighbour());
 
diff --git a/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C b/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C
index 84b2ed78a79419c78012888731c4b5e3d522450a..e51d4409b64818b28a2ebba528cac741a68c12a6 100644
--- a/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C
+++ b/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C
@@ -2,8 +2,8 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
-     \\/     M anispulation  |
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
+     \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -75,10 +75,10 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    vector n1(IStringStream(args.additionalArgs()[0])());
+    vector n1 = args.argRead<vector>(1);
     n1 /= mag(n1);
 
-    vector n2(IStringStream(args.additionalArgs()[1])());
+    vector n2 = args.argRead<vector>(2);
     n2 /= mag(n2);
 
     tensor T = rotationTensor(n1, n2);
diff --git a/applications/utilities/mesh/manipulation/setSet/setSet.C b/applications/utilities/mesh/manipulation/setSet/setSet.C
index bb187dc36101a8295d1404d24b2d3a4fe3f10a50..b3d98d40ef1000b11c5683ca9773682e2498ab8d 100644
--- a/applications/utilities/mesh/manipulation/setSet/setSet.C
+++ b/applications/utilities/mesh/manipulation/setSet/setSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -835,15 +835,14 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
     instantList timeDirs = timeSelector::select0(runTime, args);
 
-    bool writeVTK = !args.optionFound("noVTK");
-    bool loop = args.optionFound("loop");
-    bool batch = args.optionFound("batch");
-
+    const bool writeVTK = !args.optionFound("noVTK");
+    const bool loop = args.optionFound("loop");
+    const bool batch = args.optionFound("batch");
 
     if (loop && !batch)
     {
         FatalErrorIn(args.executable())
-            << "Can only loop when in batch mode."
+            << "Can only loop in batch mode."
             << exit(FatalError);
     }
 
@@ -885,7 +884,7 @@ int main(int argc, char *argv[])
 
         if (batch)
         {
-            fileName batchFile(args.option("batch"));
+            const fileName batchFile = args["batch"];
 
             Info<< "Reading commands from file " << batchFile << endl;
 
diff --git a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C
index 927d8ca8549173daf49081db0b4347cb439573e4..44238b51b69a5a7ba5a11a49b1b7bb58564e9a68 100644
--- a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C
+++ b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C
@@ -66,9 +66,9 @@ void interpolateFields
 
 int main(int argc, char *argv[])
 {
-    argList::addBoolOption("overwrite");
-
+#   include "addOverwriteOption.H"
 #   include "addTimeOptions.H"
+
 #   include "setRootCase.H"
 #   include "createTime.H"
     // Get times list
@@ -78,7 +78,7 @@ int main(int argc, char *argv[])
 #   include "createMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    bool overwrite = args.optionFound("overwrite");
+    const bool overwrite = args.optionFound("overwrite");
 
 
     // Read objects in time directory
diff --git a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C
index 0d8fe6490d811de6046cc67b8bf9c074bf4901c5..4f9e7b7c4f7ae6c7a793d0b6cdfdf1fff9c573e6 100644
--- a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C
+++ b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -111,11 +111,11 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
 int main(int argc, char *argv[])
 {
     argList::noParallel();
+#   include "addOverwriteOption.H"
 
     argList::validArgs.append("faceSet");
     argList::validArgs.append("masterPatch");
     argList::validArgs.append("slavePatch");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -123,10 +123,10 @@ int main(int argc, char *argv[])
 #   include "createPolyMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    word setName(args.additionalArgs()[0]);
-    word masterPatch(args.additionalArgs()[1]);
-    word slavePatch(args.additionalArgs()[2]);
-    bool overwrite = args.optionFound("overwrite");
+    const word setName = args[1];
+    const word masterPatch = args[2];
+    const word slavePatch = args[3];
+    const bool overwrite = args.optionFound("overwrite");
 
     // List of faces to split
     faceSet facesSet(mesh, setName);
diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
index a584789167936e2ced0cc9f8d925d34a49ea6ce3..7b9d5ea8cef40a92f51bdf95ffa56ee545ae5bea 100644
--- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
+++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -1309,13 +1309,13 @@ label findCorrespondingRegion
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::addBoolOption("cellZones");
     argList::addBoolOption("cellZonesOnly");
     argList::addOption("blockedFaces", "faceSet");
     argList::addBoolOption("makeCellZones");
     argList::addBoolOption("largestOnly");
     argList::addOption("insidePoint", "point");
-    argList::addBoolOption("overwrite");
     argList::addBoolOption("detectOnly");
     argList::addBoolOption("sloppyCellZones");
 
@@ -1326,21 +1326,20 @@ int main(int argc, char *argv[])
     const word oldInstance = mesh.pointsInstance();
 
     word blockedFacesName;
-    if (args.optionFound("blockedFaces"))
+    if (args.optionReadIfPresent("blockedFaces", blockedFacesName))
     {
-        blockedFacesName = args.option("blockedFaces");
         Info<< "Reading blocked internal faces from faceSet "
             << blockedFacesName << nl << endl;
     }
 
-    bool makeCellZones    = args.optionFound("makeCellZones");
-    bool largestOnly      = args.optionFound("largestOnly");
-    bool insidePoint      = args.optionFound("insidePoint");
-    bool useCellZones     = args.optionFound("cellZones");
-    bool useCellZonesOnly = args.optionFound("cellZonesOnly");
-    bool overwrite        = args.optionFound("overwrite");
-    bool detectOnly       = args.optionFound("detectOnly");
-    bool sloppyCellZones  = args.optionFound("sloppyCellZones");
+    const bool makeCellZones    = args.optionFound("makeCellZones");
+    const bool largestOnly      = args.optionFound("largestOnly");
+    const bool insidePoint      = args.optionFound("insidePoint");
+    const bool useCellZones     = args.optionFound("cellZones");
+    const bool useCellZonesOnly = args.optionFound("cellZonesOnly");
+    const bool overwrite        = args.optionFound("overwrite");
+    const bool detectOnly       = args.optionFound("detectOnly");
+    const bool sloppyCellZones  = args.optionFound("sloppyCellZones");
 
     if (insidePoint && largestOnly)
     {
@@ -1882,7 +1881,7 @@ int main(int argc, char *argv[])
 
         if (insidePoint)
         {
-            point insidePoint(args.optionLookup("insidePoint")());
+            const point insidePoint = args.optionRead<point>("insidePoint");
 
             label regionI = -1;
 
diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C
index 553ea07138efbe9203492a52e424801328bbc182..b382a79d0d6eec8bdbe5f23a21be980468f4f67e 100644
--- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C
+++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,6 +96,7 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
 int main(int argc, char *argv[])
 {
     argList::noParallel();
+#   include "addOverwriteOption.H"
 #   include "addRegionOption.H"
 
     argList::validArgs.append("masterPatch");
@@ -103,7 +104,6 @@ int main(int argc, char *argv[])
 
     argList::addBoolOption("partial");
     argList::addBoolOption("perfect");
-    argList::addBoolOption("overwrite");
 
     argList::addOption("toleranceDict", "file with tolerances");
 
@@ -113,13 +113,12 @@ int main(int argc, char *argv[])
 #   include "createNamedMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
+    const word masterPatchName = args[1];
+    const word slavePatchName  = args[2];
 
-    word masterPatchName(args.additionalArgs()[0]);
-    word slavePatchName(args.additionalArgs()[1]);
-
-    bool partialCover = args.optionFound("partial");
-    bool perfectCover = args.optionFound("perfect");
-    bool overwrite    = args.optionFound("overwrite");
+    const bool partialCover = args.optionFound("partial");
+    const bool perfectCover = args.optionFound("perfect");
+    const bool overwrite    = args.optionFound("overwrite");
 
     if (partialCover && perfectCover)
     {
diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
index fac26e6815c108abe2f3b67de8e4a0f3b3394874..2c854ecb2081b97ff33164608fcdedc8bc3e227e 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
+++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -151,9 +151,9 @@ void subsetPointFields
 
 int main(int argc, char *argv[])
 {
+#   include "addOverwriteOption.H"
     argList::validArgs.append("set");
     argList::addOption("patch", "patch name");
-    argList::addBoolOption("overwrite");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -161,8 +161,8 @@ int main(int argc, char *argv[])
 #   include "createMesh.H"
     const word oldInstance = mesh.pointsInstance();
 
-    word setName(args.additionalArgs()[0]);
-    bool overwrite = args.optionFound("overwrite");
+    const word setName = args[1];
+    const bool overwrite = args.optionFound("overwrite");
 
 
     Info<< "Reading cell set from " << setName << endl << endl;
@@ -174,7 +174,7 @@ int main(int argc, char *argv[])
 
     if (args.optionFound("patch"))
     {
-        word patchName(args.option("patch"));
+        const word patchName = args["patch"];
 
         patchI = mesh.boundaryMesh().findPatchID(patchName);
 
diff --git a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
index acf7ce0708866a896f1a85357c9b0d2d83e2a773..488a74694a0ecdc3c7e336b853d3bc8db3620199 100644
--- a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
+++ b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -210,7 +210,9 @@ int main(int argc, char *argv[])
         )
     );
 
+    const bool doRotateFields = args.optionFound("rotateFields");
 
+    // this is not actually stringent enough:
     if (args.options().empty())
     {
         FatalErrorIn(args.executable())
@@ -219,18 +221,20 @@ int main(int argc, char *argv[])
             << exit(FatalError);
     }
 
-    if (args.optionFound("translate"))
+    vector v;
+    if (args.optionReadIfPresent("translate", v))
     {
-        vector transVector(args.optionLookup("translate")());
+        Info<< "Translating points by " << v << endl;
 
-        Info<< "Translating points by " << transVector << endl;
-
-        points += transVector;
+        points += v;
     }
 
     if (args.optionFound("rotate"))
     {
-        Pair<vector> n1n2(args.optionLookup("rotate")());
+        Pair<vector> n1n2
+        (
+            args.optionLookup("rotate")()
+        );
         n1n2[0] /= mag(n1n2[0]);
         n1n2[1] /= mag(n1n2[1]);
         tensor T = rotationTensor(n1n2[0], n1n2[1]);
@@ -239,20 +243,17 @@ int main(int argc, char *argv[])
 
         points = transform(T, points);
 
-        if (args.optionFound("rotateFields"))
+        if (doRotateFields)
         {
             rotateFields(args, runTime, T);
         }
     }
-    else if (args.optionFound("rollPitchYaw"))
+    else if (args.optionReadIfPresent("rollPitchYaw", v))
     {
-        vector v(args.optionLookup("rollPitchYaw")());
-
         Info<< "Rotating points by" << nl
             << "    roll  " << v.x() << nl
             << "    pitch " << v.y() << nl
-            << "    yaw   " << v.z() << endl;
-
+            << "    yaw   " << v.z() << nl;
 
         // Convert to radians
         v *= pi/180.0;
@@ -262,20 +263,17 @@ int main(int argc, char *argv[])
         Info<< "Rotating points by quaternion " << R << endl;
         points = transform(R, points);
 
-        if (args.optionFound("rotateFields"))
+        if (doRotateFields)
         {
             rotateFields(args, runTime, R.R());
         }
     }
-    else if (args.optionFound("yawPitchRoll"))
+    else if (args.optionReadIfPresent("yawPitchRoll", v))
     {
-        vector v(args.optionLookup("yawPitchRoll")());
-
         Info<< "Rotating points by" << nl
             << "    yaw   " << v.x() << nl
             << "    pitch " << v.y() << nl
-            << "    roll  " << v.z() << endl;
-
+            << "    roll  " << v.z() << nl;
 
         // Convert to radians
         v *= pi/180.0;
@@ -291,21 +289,19 @@ int main(int argc, char *argv[])
         Info<< "Rotating points by quaternion " << R << endl;
         points = transform(R, points);
 
-        if (args.optionFound("rotateFields"))
+        if (doRotateFields)
         {
             rotateFields(args, runTime, R.R());
         }
     }
 
-    if (args.optionFound("scale"))
+    if (args.optionReadIfPresent("scale", v))
     {
-        vector scaleVector(args.optionLookup("scale")());
-
-        Info<< "Scaling points by " << scaleVector << endl;
+        Info<< "Scaling points by " << v << endl;
 
-        points.replace(vector::X, scaleVector.x()*points.component(vector::X));
-        points.replace(vector::Y, scaleVector.y()*points.component(vector::Y));
-        points.replace(vector::Z, scaleVector.z()*points.component(vector::Z));
+        points.replace(vector::X, v.x()*points.component(vector::X));
+        points.replace(vector::Y, v.y()*points.component(vector::Y));
+        points.replace(vector::Z, v.z()*points.component(vector::Z));
     }
 
     // Set the precision of the points data to 10
diff --git a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C
index 02d0e1e9569903333514191dcbe16fdb190605c3..98a5da97d3524c89b223006b3947f34462b82b9e 100644
--- a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C
+++ b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ int main(int argc, char *argv[])
     argList::validArgs.append("inputDict");
     argList args(argc, argv);
 
-    const string& dictName = args.additionalArgs()[0];
+    const string dictName = args[1];
 
     Info<<"//\n// expansion of dictionary " << dictName << "\n//\n";
 
diff --git a/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C b/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C
index 41abe8dcdb3b913898f0bcf4c7e184342a8205e6..7c05ba5a29e55d212063abbec08262ba191846d8 100644
--- a/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C
+++ b/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,7 +66,7 @@ int main(int argc, char *argv[])
     {
         fileName dictFileName
         (
-            args.rootPath()/args.caseName()/args.option("dictionary")
+            args.rootPath()/args.caseName()/args["dictionary"]
         );
 
         IFstream dictFile(dictFileName);
@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
                         true            // wildcards
                     );
 
-                    for (int i=1; i<entryNames.size(); i++)
+                    for (int i=1; i<entryNames.size(); ++i)
                     {
                         if (entPtr->dict().found(entryNames[i]))
                         {
@@ -118,7 +118,7 @@ int main(int argc, char *argv[])
                         {
                             FatalErrorIn(args.executable())
                                 << "Cannot find sub-entry " << entryNames[i]
-                                << " in entry " << args.option("entry")
+                                << " in entry " << args["entry"]
                                 << " in dictionary " << dictFileName;
                             FatalError.exit(3);
                         }
@@ -131,7 +131,7 @@ int main(int argc, char *argv[])
                         {
                             FatalErrorIn(args.executable())
                                 << "Cannot find entry "
-                                << args.option("entry")
+                                << args["entry"]
                                 << " in dictionary " << dictFileName
                                 << " is not a sub-dictionary";
                             FatalError.exit(4);
diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
index ac1d5a72fb6f6f58bb0081c37f130ae7c4bbb940..02d8005e923f0930c177f8ae3f9843f8bf700ea7 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
+++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
@@ -34,8 +34,8 @@ Usage
     - decomposePar [OPTION]
 
     @param -cellDist \n
-    Write the cell distribution as a labelList for use with 'manual'
-    decomposition method and as a volScalarField for post-processing.
+    Write the cell distribution as a labelList, for use with 'manual'
+    decomposition method or as a volScalarField for post-processing.
 
     @param -region regionName \n
     Decompose named region. Does not check for existence of processor*.
@@ -84,7 +84,12 @@ int main(int argc, char *argv[])
 {
     argList::noParallel();
 #   include "addRegionOption.H"
-    argList::addBoolOption("cellDist");
+    argList::addBoolOption
+    (
+        "cellDist",
+        "write cell distribution as a labelList - for use with 'manual' "
+        "decomposition method or as a volScalarField for post-processing."
+    );
     argList::addBoolOption
     (
         "copyUniform",
@@ -106,6 +111,11 @@ int main(int argc, char *argv[])
         "only decompose geometry if the number of domains has changed"
     );
 
+    argList::addNote
+    (
+        "decompose a mesh and fields of a case for parallel execution"
+    );
+
 #   include "setRootCase.H"
 
     word regionName = fvMesh::defaultRegion;
diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
index e2cd5edba29eb6805c1a721d82b417303e02c297..d2dcd818cade4bd3d76106df808672c968ecd1cd 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
+++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,8 +50,18 @@ int main(int argc, char *argv[])
     timeSelector::addOptions(true, true);
     argList::noParallel();
 #   include "addRegionOption.H"
-    argList::addOption("fields", "\"(list of fields)\"");
-    argList::addBoolOption("noLagrangian");
+    argList::addOption
+    (
+        "fields",
+        "list",
+        "specify a list of fields to be reconstructed. Eg, '(U T p)' - "
+        "regular expressions not currently supported"
+    );
+    argList::addBoolOption
+    (
+        "noLagrangian",
+        "skip reconstructing lagrangian positions and fields"
+    );
 
 #   include "setRootCase.H"
 #   include "createTime.H"
@@ -62,7 +72,7 @@ int main(int argc, char *argv[])
         args.optionLookup("fields")() >> selectedFields;
     }
 
-    bool noLagrangian = args.optionFound("noLagrangian");
+    const bool noLagrangian = args.optionFound("noLagrangian");
 
     // determine the processor count directly
     label nProcs = 0;
@@ -111,10 +121,10 @@ int main(int argc, char *argv[])
     }
 
 #   include "createNamedMesh.H"
-    fileName regionPrefix = "";
+    word regionDir = word::null;
     if (regionName != fvMesh::defaultRegion)
     {
-        regionPrefix = regionName;
+        regionDir = regionName;
     }
 
     // Set all times on processor meshes equal to reconstructed mesh
@@ -309,7 +319,7 @@ int main(int argc, char *argv[])
                 (
                     readDir
                     (
-                        databases[procI].timePath()/regionPrefix/cloud::prefix,
+                        databases[procI].timePath() / regionDir / cloud::prefix,
                         fileName::DIRECTORY
                     )
                 );
diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
index a14335645032ec91413847db7ac1fed605876874..2bc95be4e73deec99c19f971080eb130ffc55095 100644
--- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
+++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -281,8 +281,23 @@ autoPtr<mapPolyMesh> mergeSharedPoints
 int main(int argc, char *argv[])
 {
     argList::noParallel();
-    argList::addOption("mergeTol", "relative merge distance");
-    argList::addBoolOption("fullMatch");
+    argList::addOption
+    (
+        "mergeTol",
+        "scalar",
+        "specify the merge distance relative to the bounding box size "
+        "(default 1E-7)"
+    );
+    argList::addBoolOption
+    (
+        "fullMatch",
+        "do (slower) geometric matching on all boundary faces"
+    );
+
+    argList::addNote
+    (
+        "reconstruct a mesh using geometric information only"
+    );
 
 #   include "addTimeOptions.H"
 #   include "addRegionOption.H"
@@ -306,11 +321,11 @@ int main(int argc, char *argv[])
 
 
     word regionName = polyMesh::defaultRegion;
-    fileName regionPrefix = "";
-    if (args.optionFound("region"))
+    word regionDir = word::null;
+
+    if (args.optionReadIfPresent("region", regionName))
     {
-        regionName = args.option("region");
-        regionPrefix = regionName;
+        regionDir = regionName;
         Info<< "Operating on region " << regionName << nl << endl;
     }
 
@@ -425,7 +440,7 @@ int main(int argc, char *argv[])
         (
             databases[procI].findInstance
             (
-                regionPrefix/polyMesh::meshSubDir,
+                regionDir / polyMesh::meshSubDir,
                 "points"
             )
         );
@@ -454,10 +469,10 @@ int main(int argc, char *argv[])
                 "points",
                 databases[procI].findInstance
                 (
-                    regionPrefix/polyMesh::meshSubDir,
+                    regionDir / polyMesh::meshSubDir,
                     "points"
                 ),
-                regionPrefix/polyMesh::meshSubDir,
+                regionDir / polyMesh::meshSubDir,
                 databases[procI],
                 IOobject::MUST_READ,
                 IOobject::NO_WRITE,
diff --git a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C
index 77781311f36a89192f68e2e775f2f87db537e90b..7f5ead65f3e1fe9d06acc2181d0aed63b0b61a63 100644
--- a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C
+++ b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Description
-    Translates FOAM data to Fluent format.
+    Translates OpenFOAM data to Fluent format.
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
index 4298ac43d1bf37640d935f23a0ef6a9b07f28085..5f848736bebbf01ee65cb361cbf04236ec65ec11 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,7 +80,10 @@ Foam::ensightMesh::ensightMesh
 
         if (args.optionFound("patches"))
         {
-            wordList patchNameList(args.optionLookup("patches")());
+            wordList patchNameList
+            (
+                args.optionLookup("patches")()
+            );
 
             if (patchNameList.empty())
             {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
index 2ffb2256992246d3f7552e3aeeaf1cb8e9538c47..7378bdc7a401d59041e1737810309094b910f416 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Description
-    Translates FOAM data to EnSight format.
+    Translates OpenFOAM data to EnSight format.
 
     An Ensight part is created for the internalMesh and for each patch.
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
index 44384b7efe560600e4a7736e13445f07631b426c..2d11a6538d65bff0cc2ca0d396889e170f049632 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -215,9 +215,8 @@ int main(int argc, char *argv[])
     word cellSetName;
     string vtkName;
 
-    if (args.optionFound("cellSet"))
+    if (args.optionReadIfPresent("cellSet", cellSetName))
     {
-        cellSetName = args.option("cellSet");
         vtkName = cellSetName;
     }
     else if (Pstream::parRun())
@@ -738,7 +737,7 @@ int main(int argc, char *argv[])
         if (args.optionFound("faceSet"))
         {
             // Load the faceSet
-            word setName(args.option("faceSet"));
+            const word setName = args["faceSet"];
             labelList faceLabels(faceSet(mesh, setName).toc());
 
             // Filename as if patch with same name.
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
index 73dc60b762c92a9b66b726eb64e8b53652062514..68556854143310fab203f46f279d3a58ab41d57e 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -329,9 +329,8 @@ int main(int argc, char *argv[])
     word cellSetName;
     string vtkName = runTime.caseName();
 
-    if (args.optionFound("cellSet"))
+    if (args.optionReadIfPresent("cellSet", cellSetName))
     {
-        cellSetName = args.option("cellSet");
         vtkName = cellSetName;
     }
     else if (Pstream::parRun())
@@ -423,7 +422,7 @@ int main(int argc, char *argv[])
         if (args.optionFound("faceSet"))
         {
             // Load the faceSet
-            faceSet set(mesh, args.option("faceSet"));
+            faceSet set(mesh, args["faceSet"]);
 
             // Filename as if patch with same name.
             mkDir(fvPath/set.name());
@@ -446,7 +445,7 @@ int main(int argc, char *argv[])
         if (args.optionFound("pointSet"))
         {
             // Load the pointSet
-            pointSet set(mesh, args.option("pointSet"));
+            pointSet set(mesh, args["pointSet"]);
 
             // Filename as if patch with same name.
             mkDir(fvPath/set.name());
diff --git a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C
index ee450c1200c74628ff6f986fc5bf62f9d2befc77..decdc195af44b4b15e06f07ce085e462540759a4 100644
--- a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C
+++ b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Description
-    Translates a STAR-CD SMAP data file into FOAM field format.
+    Translates a STAR-CD SMAP data file into OpenFOAM field format.
 
 \*---------------------------------------------------------------------------*/
 
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
 
 #   include "createMesh.H"
 
-    IFstream smapFile(args.additionalArgs()[0]);
+    IFstream smapFile(args[1]);
 
     if (!smapFile.good())
     {
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
index b9310ffc92c5a51be55475d778465399da550a32..751e80503ab0d19bdbbc5b2410751e23f38a469e 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ namespace Foam
             (
                 IOobject
                 (
-                    args.option("dict"),
+                    args["dict"],
                     runTime.system(),
                     runTime,
                     IOobject::MUST_READ
diff --git a/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C b/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C
index 2ad0d5cf35c844a2db24a0b2371ac32187e37a82..9e091ff936dad7e3b37c753536951f01bb5e3a03 100644
--- a/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C
+++ b/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,8 +45,8 @@ int main(int argc, char *argv[])
     instantList timeDirs = timeSelector::select0(runTime, args);
 #   include "createMesh.H"
 
-    word fieldName(args.additionalArgs()[0]);
-    word patchName(args.additionalArgs()[1]);
+    const word fieldName = args[1];
+    const word patchName = args[2];
 
     forAll(timeDirs, timeI)
     {
diff --git a/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C b/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C
index 8d189dfe28b9df13ea30516a8bfbf390585268c0..8b474d2ac0f30854b0f0849b30047258c3d0b2e1 100644
--- a/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C
+++ b/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,8 +47,8 @@ int main(int argc, char *argv[])
     instantList timeDirs = timeSelector::select0(runTime, args);
 #   include "createNamedMesh.H"
 
-    word fieldName(args.additionalArgs()[0]);
-    word patchName(args.additionalArgs()[1]);
+    const word fieldName = args[1];
+    const word patchName = args[2];
 
     forAll(timeDirs, timeI)
     {
diff --git a/applications/utilities/preProcessing/mapFields/setRoots.H b/applications/utilities/preProcessing/mapFields/setRoots.H
index 3758fbee6a2419c57bb7cf464f126bf04b8aad00..d7651306b463bf5f2cbcca41d425dd3bb254c266 100644
--- a/applications/utilities/preProcessing/mapFields/setRoots.H
+++ b/applications/utilities/preProcessing/mapFields/setRoots.H
@@ -17,14 +17,14 @@
     fileName rootDirTarget(args.rootPath());
     fileName caseDirTarget(args.globalCaseName());
 
-    fileName casePath(args.additionalArgs()[0]);
-    fileName rootDirSource = casePath.path();
-    fileName caseDirSource = casePath.name();
+    const fileName casePath = args[1];
+    const fileName rootDirSource = casePath.path();
+    const fileName caseDirSource = casePath.name();
 
     Info<< "Source: " << rootDirSource << " " << caseDirSource << nl
         << "Target: " << rootDirTarget << " " << caseDirTarget << endl;
 
-    bool parallelSource = args.optionFound("parallelSource");
-    bool parallelTarget = args.optionFound("parallelTarget");
-    bool consistent     = args.optionFound("consistent");
+    const bool parallelSource = args.optionFound("parallelSource");
+    const bool parallelTarget = args.optionFound("parallelTarget");
+    const bool consistent     = args.optionFound("consistent");
 
diff --git a/applications/utilities/preProcessing/mapFields/setTimeIndex.H b/applications/utilities/preProcessing/mapFields/setTimeIndex.H
index 80dfb3efca44c97b028783125de210640642793e..20012e3d20433b91b73f96658ff8bf25a32c411b 100644
--- a/applications/utilities/preProcessing/mapFields/setTimeIndex.H
+++ b/applications/utilities/preProcessing/mapFields/setTimeIndex.H
@@ -2,7 +2,7 @@
     label sourceTimeIndex = runTimeSource.timeIndex();
     if (args.optionFound("sourceTime"))
     {
-        if (args.option("sourceTime") == "latestTime")
+        if (args["sourceTime"] == "latestTime")
         {
             sourceTimeIndex = sourceTimes.size() - 1;
         }
diff --git a/applications/utilities/surface/surfaceAdd/surfaceAdd.C b/applications/utilities/surface/surfaceAdd/surfaceAdd.C
index 305c9d48c2f707830c2f23c45897b817171745cd..be0baad23d0719086749d3f264bf0682b234617e 100644
--- a/applications/utilities/surface/surfaceAdd/surfaceAdd.C
+++ b/applications/utilities/surface/surfaceAdd/surfaceAdd.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,12 +57,12 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
 
-    fileName inFileName1(args.additionalArgs()[0]);
-    fileName inFileName2(args.additionalArgs()[1]);
-    fileName outFileName(args.additionalArgs()[2]);
+    const fileName inFileName1 = args[1];
+    const fileName inFileName2 = args[2];
+    const fileName outFileName = args[3];
 
-    bool addPoint     = args.optionFound("points");
-    bool mergeRegions = args.optionFound("mergeRegions");
+    const bool addPoint     = args.optionFound("points");
+    const bool mergeRegions = args.optionFound("mergeRegions");
 
     if (addPoint)
     {
@@ -71,7 +71,7 @@ int main(int argc, char *argv[])
             << nl << endl;
 
         Info<< "Surface  : " << inFileName1<< nl
-            << "Points   : " << args.option("points") << nl
+            << "Points   : " << args["points"] << nl
             << "Writing  : " << outFileName << nl << endl;
     }
     else
@@ -113,7 +113,7 @@ int main(int argc, char *argv[])
 
     if (addPoint)
     {
-        IFstream pointsFile(args.option("points"));
+        IFstream pointsFile(args["points"]);
         pointField extraPoints(pointsFile);
 
         Info<< "Additional Points:" << extraPoints.size() << endl;
diff --git a/applications/utilities/surface/surfaceAutoPatch/surfaceAutoPatch.C b/applications/utilities/surface/surfaceAutoPatch/surfaceAutoPatch.C
index 0a7d8a2cc59af865eaa1cd6fcf4782f253ab8993..5d570e74ebabb49b9f6291112ed0374240084911 100644
--- a/applications/utilities/surface/surfaceAutoPatch/surfaceAutoPatch.C
+++ b/applications/utilities/surface/surfaceAutoPatch/surfaceAutoPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,11 +53,11 @@ int main(int argc, char *argv[])
     argList::validArgs.append("included angle [0..180]");
     argList args(argc, argv);
 
-    fileName inFileName(args.additionalArgs()[0]);
-    fileName outFileName(args.additionalArgs()[1]);
-    scalar includedAngle(readScalar(IStringStream(args.additionalArgs()[2])()));
+    const fileName inFileName  = args[1];
+    const fileName outFileName = args[2];
+    const scalar includedAngle = args.argRead<scalar>(3);
 
-    Pout<< "Surface        : " << inFileName << nl
+    Info<< "Surface        : " << inFileName << nl
         << endl;
 
 
@@ -81,7 +81,7 @@ int main(int argc, char *argv[])
 
     surfaceFeatures set(surf, includedAngle);
 
-    Pout<< nl
+    Info<< nl
         << "Feature set:" << nl
         << "    feature points : " << set.featurePoints().size() << nl
         << "    feature edges  : " << set.featureEdges().size() << nl
diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
index da3bccb7d4b184d02bec82d659c993a6f5e8229d..647ed18b07281c06861cd15af6c3ff8d51f2f993 100644
--- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C
+++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -188,10 +188,10 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
 
-    bool checkSelfIntersection = args.optionFound("checkSelfIntersection");
-    bool verbose = args.optionFound("verbose");
+    const fileName surfFileName = args[1];
+    const bool checkSelfIntersect = args.optionFound("checkSelfIntersection");
+    const bool verbose = args.optionFound("verbose");
 
-    fileName surfFileName(args.additionalArgs()[0]);
     Info<< "Reading surface from " << surfFileName << " ..." << nl << endl;
 
 
@@ -616,7 +616,7 @@ int main(int argc, char *argv[])
                 surfFileNameBase.lessExt()
               + "_"
               + name(zone)
-              + ".ftr"
+              + ".obj"
             );
 
             Info<< "writing part " << zone << " size " << subSurf.size()
@@ -657,7 +657,7 @@ int main(int argc, char *argv[])
     // Check self-intersection
     // ~~~~~~~~~~~~~~~~~~~~~~~
 
-    if (checkSelfIntersection)
+    if (checkSelfIntersect)
     {
         Info<< "Checking self-intersection." << endl;
 
diff --git a/applications/utilities/surface/surfaceClean/surfaceClean.C b/applications/utilities/surface/surfaceClean/surfaceClean.C
index 64323527a367ae5fc343d09da63f212048d56be1..52fe9a549033838cde21459ca21c5122910f0964 100644
--- a/applications/utilities/surface/surfaceClean/surfaceClean.C
+++ b/applications/utilities/surface/surfaceClean/surfaceClean.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,21 +54,21 @@ int main(int argc, char *argv[])
     argList::validArgs.append("output surface file");
     argList::argList args(argc, argv);
 
-    fileName inFileName(args.additionalArgs()[0]);
-    scalar minLen(readScalar(IStringStream(args.additionalArgs()[1])()));
-    fileName outFileName(args.additionalArgs()[2]);
+    const fileName inFileName = args[1];
+    const scalar minLen = args.argRead<scalar>(2);
+    const fileName outFileName = args[3];
 
-    Pout<< "Reading surface " << inFileName << nl
+    Info<< "Reading surface " << inFileName << nl
         << "Collapsing all triangles with edges or heights < " << minLen << nl
         << "Writing result to " << outFileName << nl << endl;
 
 
-    Pout<< "Reading surface from " << inFileName << " ..." << nl << endl;
+    Info<< "Reading surface from " << inFileName << " ..." << nl << endl;
     triSurface surf(inFileName);
-    surf.writeStats(Pout);
+    surf.writeStats(Info);
 
 
-    Pout<< "Collapsing triangles to edges ..." << nl << endl;
+    Info<< "Collapsing triangles to edges ..." << nl << endl;
 
     while (true)
     {
@@ -89,15 +89,15 @@ int main(int argc, char *argv[])
         }
     }
 
-    Pout<< nl << "Resulting surface:" << endl;
-    surf.writeStats(Pout);
-    Pout<< nl;
+    Info<< nl
+        << "Resulting surface:" << endl;
+    surf.writeStats(Info);
 
-    Pout<< "Writing refined surface to " << outFileName << " ..." << endl;
+    Info<< nl
+        << "Writing refined surface to " << outFileName << " ..." << endl;
     surf.write(outFileName);
-    Pout<< nl;
 
-    Pout<< "End\n" << endl;
+    Info<< "\nEnd\n" << endl;
 
     return 0;
 }
diff --git a/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C b/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C
index e293596ab16abc1e70ff8f1fc4d6138bea29c205..d9d41379a154d64b54421325ced753eacc0af5fa 100644
--- a/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C
+++ b/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,7 +30,6 @@ Description
         mailto:melax@cs.ualberta.ca
         http://www.cs.ualberta.ca/~melax
 
-
 \*---------------------------------------------------------------------------*/
 
 #include "argList.H"
@@ -72,9 +71,9 @@ int main(int argc, char *argv[])
     argList::validArgs.append("Foam output file");
     argList args(argc, argv);
 
-    fileName inFileName(args.additionalArgs()[0]);
-
-    scalar reduction(readScalar(IStringStream(args.additionalArgs()[1])()));
+    const fileName inFileName = args[1];
+    const scalar reduction = args.argRead<scalar>(2);
+    const fileName outFileName = args[3];
 
     if (reduction <= 0 || reduction > 1)
     {
@@ -85,8 +84,6 @@ int main(int argc, char *argv[])
             << exit(FatalError);
     }
 
-    fileName outFileName(args.additionalArgs()[2]);
-
     Info<< "Input surface   :" << inFileName << endl
         << "Reduction factor:" << reduction << endl
         << "Output surface  :" << outFileName << endl << endl;
diff --git a/applications/utilities/surface/surfaceConvert/surfaceConvert.C b/applications/utilities/surface/surfaceConvert/surfaceConvert.C
index 8481addc0316f9277e0c2ba4759895296aee8947..35589360c0c0bfbd2c759299d463d6b4e66605b3 100644
--- a/applications/utilities/surface/surfaceConvert/surfaceConvert.C
+++ b/applications/utilities/surface/surfaceConvert/surfaceConvert.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,10 +69,9 @@ int main(int argc, char *argv[])
     argList::addOption("scale", "scale");
 
     argList args(argc, argv);
-    const stringList& params = args.additionalArgs();
 
-    fileName importName(params[0]);
-    fileName exportName(params[1]);
+    const fileName importName = args[1];
+    const fileName exportName = args[2];
 
     if (importName == exportName)
     {
diff --git a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
index ee221f992aef843ce920c86629c0124a3ea1297b..7bf03a7b8a9f0a9276f41a9b47de8f971207d359 100644
--- a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
+++ b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,10 +59,9 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
     Time runTime(args.rootPath(), args.caseName());
-    const stringList& params = args.additionalArgs();
 
-    const fileName importName(params[0]);
-    const fileName exportName(params[1]);
+    const fileName importName = args[1];
+    const fileName exportName = args[2];
 
     // disable inplace editing
     if (importName == exportName)
diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
index 71eda554fafce464bffff9a7b43e875d3f71852c..985aa5690bb29d02afa8f61c6a2d797cf5e6eedd 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ void dumpBox(const treeBoundBox& bb, const fileName& fName)
 {
     OFstream str(fName);
 
-    Pout<< "Dumping bounding box " << bb << " as lines to obj file "
+    Info<< "Dumping bounding box " << bb << " as lines to obj file "
         << str.name() << endl;
 
 
@@ -106,14 +106,14 @@ int main(int argc, char *argv[])
     argList::addOption("deleteBox", "((x0 y0 z0)(x1 y1 z1))");
     argList args(argc, argv);
 
-    Pout<< "Feature line extraction is only valid on closed manifold surfaces."
+    Info<< "Feature line extraction is only valid on closed manifold surfaces."
         << endl;
 
 
-    fileName surfFileName(args.additionalArgs()[0]);
-    fileName outFileName(args.additionalArgs()[1]);
+    const fileName surfFileName = args[1];
+    const fileName outFileName  = args[2];
 
-    Pout<< "Surface            : " << surfFileName << nl
+    Info<< "Surface            : " << surfFileName << nl
         << "Output feature set : " << outFileName << nl
         << endl;
 
@@ -123,9 +123,9 @@ int main(int argc, char *argv[])
 
     triSurface surf(surfFileName);
 
-    Pout<< "Statistics:" << endl;
-    surf.writeStats(Pout);
-    Pout<< endl;
+    Info<< "Statistics:" << endl;
+    surf.writeStats(Info);
+    Info<< endl;
 
 
 
@@ -136,9 +136,9 @@ int main(int argc, char *argv[])
 
     if (args.optionFound("set"))
     {
-        fileName setName(args.option("set"));
+        const fileName setName = args["set"];
 
-        Pout<< "Reading existing feature set from file " << setName << endl;
+        Info<< "Reading existing feature set from file " << setName << endl;
 
         set = surfaceFeatures(surf, setName);
     }
@@ -146,12 +146,12 @@ int main(int argc, char *argv[])
     {
         scalar includedAngle = args.optionRead<scalar>("includedAngle");
 
-        Pout<< "Constructing feature set from included angle " << includedAngle
+        Info<< "Constructing feature set from included angle " << includedAngle
             << endl;
 
         set = surfaceFeatures(surf, includedAngle);
 
-        Pout<< endl << "Writing initial features" << endl;
+        Info<< nl << "Writing initial features" << endl;
         set.write("initial.fSet");
         set.writeObj("initial");
     }
@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
     }
 
 
-    Pout<< nl
+    Info<< nl
         << "Initial feature set:" << nl
         << "    feature points : " << set.featurePoints().size() << nl
         << "    feature edges  : " << set.featureEdges().size() << nl
@@ -184,20 +184,20 @@ int main(int argc, char *argv[])
     scalar minLen = -GREAT;
     if (args.optionReadIfPresent("minLen", minLen))
     {
-        Pout<< "Removing features of length < " << minLen << endl;
+        Info<< "Removing features of length < " << minLen << endl;
     }
 
     label minElem = 0;
     if (args.optionReadIfPresent("minElem", minElem))
     {
-        Pout<< "Removing features with number of edges < " << minElem << endl;
+        Info<< "Removing features with number of edges < " << minElem << endl;
     }
 
     // Trim away small groups of features
     if (minElem > 0 || minLen > 0)
     {
         set.trimFeatures(minLen, minElem);
-        Pout<< endl << "Removed small features" << endl;
+        Info<< endl << "Removed small features" << endl;
     }
 
 
@@ -210,9 +210,12 @@ int main(int argc, char *argv[])
 
     if (args.optionFound("subsetBox"))
     {
-        treeBoundBox bb(args.optionLookup("subsetBox")());
+        treeBoundBox bb
+        (
+            args.optionLookup("subsetBox")()
+        );
 
-        Pout<< "Removing all edges outside bb " << bb << endl;
+        Info<< "Removing all edges outside bb " << bb << endl;
         dumpBox(bb, "subsetBox.obj");
 
         deleteBox
@@ -225,9 +228,12 @@ int main(int argc, char *argv[])
     }
     else if (args.optionFound("deleteBox"))
     {
-        treeBoundBox bb(args.optionLookup("deleteBox")());
+        treeBoundBox bb
+        (
+            args.optionLookup("deleteBox")()
+        );
 
-        Pout<< "Removing all edges inside bb " << bb << endl;
+        Info<< "Removing all edges inside bb " << bb << endl;
         dumpBox(bb, "deleteBox.obj");
 
         deleteBox
@@ -242,14 +248,14 @@ int main(int argc, char *argv[])
     surfaceFeatures newSet(surf);
     newSet.setFromStatus(edgeStat);
 
-    Pout<< endl << "Writing trimmed features to " << outFileName << endl;
+    Info<< endl << "Writing trimmed features to " << outFileName << endl;
     newSet.write(outFileName);
 
-    Pout<< endl << "Writing edge objs." << endl;
+    Info<< endl << "Writing edge objs." << endl;
     newSet.writeObj("final");
 
 
-    Pout<< nl
+    Info<< nl
         << "Final feature set:" << nl
         << "    feature points : " << newSet.featurePoints().size() << nl
         << "    feature edges  : " << newSet.featureEdges().size() << nl
@@ -259,7 +265,7 @@ int main(int argc, char *argv[])
         << "        internal edges : " << newSet.nInternalEdges() << nl
         << endl;
 
-    Pout<< "End\n" << endl;
+    Info<< "End\n" << endl;
 
     return 0;
 }
diff --git a/applications/utilities/surface/surfaceFind/surfaceFind.C b/applications/utilities/surface/surfaceFind/surfaceFind.C
index 8e36fc25ecaab5ce7a55b224ee2486ab93776c3a..e5e25260c4769b3f950838672e81e23479c7423f 100644
--- a/applications/utilities/surface/surfaceFind/surfaceFind.C
+++ b/applications/utilities/surface/surfaceFind/surfaceFind.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,7 +60,7 @@ int main(int argc, char *argv[])
 
 
     Info<< "Reading surf ..." << endl;
-    meshedSurface surf1(args.additionalArgs()[0]);
+    meshedSurface surf1(args[1]);
 
     //
     // Nearest vertex
diff --git a/applications/utilities/surface/surfaceInertia/surfaceInertia.C b/applications/utilities/surface/surfaceInertia/surfaceInertia.C
index 30e91425a820afe078f6b0c19143153beb4a6541..db3d62c15e44cacd2ea51d48294eba384a719e4e 100644
--- a/applications/utilities/surface/surfaceInertia/surfaceInertia.C
+++ b/applications/utilities/surface/surfaceInertia/surfaceInertia.C
@@ -2,7 +2,7 @@
  =========                   |
  \\      /   F ield          | OpenFOAM: The Open Source CFD Toolbox
   \\    /    O peration      |
-   \\  /     A nd            | Copyright (C) 2009-2009 OpenCFD Ltd.
+   \\  /     A nd            | Copyright (C) 2009-2010 OpenCFD Ltd.
     \\/      M anipulation   |
 -------------------------------------------------------------------------------
 License
@@ -285,14 +285,12 @@ int main(int argc, char *argv[])
     argList::addNote
     (
         "Calculates the inertia tensor and principal axes and moments "
-        "of a command line specified triSurface.  Inertia can either "
-        "be of the solid body or of a thin shell."
+        "of the specified surface.\n"
+        "Inertia can either be of the solid body or of a thin shell."
     );
 
     argList::noParallel();
-
     argList::validArgs.append("surface file");
-
     argList::addBoolOption("shellProperties");
 
     argList::addOption
@@ -312,16 +310,14 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
 
-    fileName surfFileName(args.additionalArgs()[0]);
-
-    triSurface surf(surfFileName);
-
-    scalar density = args.optionLookupOrDefault("density", 1.0);
+    const fileName surfFileName = args[1];
+    const scalar density = args.optionLookupOrDefault("density", 1.0);
 
     vector refPt = vector::zero;
-
     bool calcAroundRefPt = args.optionReadIfPresent("referencePoint", refPt);
 
+    triSurface surf(surfFileName);
+
     triFaceList faces(surf.size());
 
     forAll(surf, i)
diff --git a/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C b/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C
index 8267db2a49b79cf3a8f97eef128c2a2514e9938d..9ba19b5f96d32bb121693dee0799c82df12972f9 100644
--- a/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C
+++ b/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C
@@ -120,10 +120,9 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
     Time runTime(args.rootPath(), args.caseName());
-    const stringList& params = args.additionalArgs();
 
-    fileName importName(params[0]);
-    fileName exportName(params[1]);
+    const fileName importName = args[1];
+    const fileName exportName = args[2];
 
     // disable inplace editing
     if (importName == exportName)
@@ -154,7 +153,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("dict"))
         {
-            fileName dictPath(args.option("dict"));
+            const fileName dictPath = args["dict"];
 
             csDictIoPtr.set
             (
@@ -201,7 +200,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("from"))
         {
-            const word csName(args.option("from"));
+            const word csName = args["from"];
 
             label csId = csLst.find(csName);
             if (csId < 0)
@@ -217,7 +216,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("to"))
         {
-            const word csName(args.option("to"));
+            const word csName = args["to"];
 
             label csId = csLst.find(csName);
             if (csId < 0)
diff --git a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C
index 22c37c2379ed2aadc97a4599204ad33995b98694..11008d1ad925e6ef9399aaadc6673a77c347f4d8 100644
--- a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C
+++ b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -86,13 +86,11 @@ int main(int argc, char *argv[])
     argList::addOption("scale", "scale");
 
 #   include "setRootCase.H"
-    const stringList& params = args.additionalArgs();
 
-    scalar scaleFactor = 0;
-    args.optionReadIfPresent("scale", scaleFactor);
+    const scalar scaleFactor = args.optionLookupOrDefault("scale", 0.0);
 
-    fileName importName(params[0]);
-    fileName exportName(params[1]);
+    const fileName importName = args[1];
+    const fileName exportName = args[2];
 
     if (importName == exportName)
     {
diff --git a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C
index 98445dde2b15a22a1109efa686ba7be34d3cc768..851f4ac784636a3827e9b221911e586fbdda8928 100644
--- a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C
+++ b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,10 +87,9 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
     Time runTime(args.rootPath(), args.caseName());
-    const stringList& params = args.additionalArgs();
 
-    fileName exportName(params[0]);
-    word importName = args.optionLookupOrDefault<word>("name", "default");
+    const fileName exportName = args[1];
+    const word importName = args.optionLookupOrDefault<word>("name", "default");
 
     // check that writing is supported
     if (!MeshedSurface<face>::canWriteType(exportName.ext(), true))
@@ -109,7 +108,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("dict"))
         {
-            fileName dictPath(args.option("dict"));
+            const fileName dictPath = args["dict"];
 
             ioPtr.set
             (
@@ -156,7 +155,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("from"))
         {
-            const word csName(args.option("from"));
+            const word csName = args["from"];
 
             label csId = csLst.find(csName);
             if (csId < 0)
@@ -172,7 +171,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("to"))
         {
-            const word csName(args.option("to"));
+            const word csName = args["to"];
 
             label csId = csLst.find(csName);
             if (csId < 0)
diff --git a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
index a8552bbb05b52d10acd530fa103ce250a3580e2b..a260598d359aca315f4508269f070248de322a11 100644
--- a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
+++ b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,8 +88,6 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    const stringList& params = args.additionalArgs();
-
     // try for the latestTime, but create "constant" as needed
     instantList Times = runTime.times();
     if (Times.size())
@@ -103,9 +101,8 @@ int main(int argc, char *argv[])
     }
 
 
-    fileName importName(params[0]);
-    word exportName("default");
-    args.optionReadIfPresent("name", exportName);
+    const fileName importName = args[1];
+    const word exportName = args.optionLookupOrDefault<word>("name", "default");
 
     // check that reading is supported
     if (!MeshedSurface<face>::canRead(importName, true))
@@ -124,7 +121,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("dict"))
         {
-            fileName dictPath(args.option("dict"));
+            const fileName dictPath = args["dict"];
 
             ioPtr.set
             (
@@ -171,7 +168,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("from"))
         {
-            const word csName(args.option("from"));
+            const word csName = args["from"];
 
             label csId = csLst.find(csName);
             if (csId < 0)
@@ -187,7 +184,7 @@ int main(int argc, char *argv[])
 
         if (args.optionFound("to"))
         {
-            const word csName(args.option("to"));
+            const word csName = args["to"];
 
             label csId = csLst.find(csName);
             if (csId < 0)
diff --git a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C b/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C
index 51c8425d665fc7c25b9848dcc8484f05f3db5bc5..b87201fdfc0e199dd9ed03e77c3adb31024e7ca1 100644
--- a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C
+++ b/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,7 +57,7 @@ int main(int argc, char *argv[])
 #   include "setRootCase.H"
 #   include "createTime.H"
 
-    fileName outFileName(runTime.path()/args.additionalArgs()[0]);
+    const fileName outFileName(runTime.path()/args[1]);
 
     Info<< "Extracting triSurface from boundaryMesh ..."
         << endl << endl;
@@ -85,12 +85,14 @@ int main(int argc, char *argv[])
 
     if (args.optionFound("patches"))
     {
-        wordList patchNames(args.optionLookup("patches")());
+        const wordList patchNames
+        (
+            args.optionLookup("patches")()
+        );
 
         forAll(patchNames, patchNameI)
         {
             const word& patchName = patchNames[patchNameI];
-
             label patchI = bMesh.findPatchID(patchName);
 
             if (patchI == -1)
@@ -140,7 +142,7 @@ int main(int argc, char *argv[])
     else
     {
         // Write local surface
-        fileName localPath = runTime.path()/runTime.caseName() + ".ftr";
+        fileName localPath = runTime.path()/runTime.caseName() + ".obj";
 
         Pout<< "Writing local surface to " << localPath << endl;
 
@@ -313,7 +315,7 @@ int main(int argc, char *argv[])
             (
                 runTime.rootPath()
               / globalCasePath
-              / args.additionalArgs()[0]
+              / args[1]
             );
 
             allSurf.write(globalPath);
diff --git a/applications/utilities/surface/surfaceOrient/surfaceOrient.C b/applications/utilities/surface/surfaceOrient/surfaceOrient.C
index 39620435b16483b5df77056730be6930cb6a1806..5e47b628240c93db9a709a4070d125a136b40f35 100644
--- a/applications/utilities/surface/surfaceOrient/surfaceOrient.C
+++ b/applications/utilities/surface/surfaceOrient/surfaceOrient.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,13 +48,14 @@ int main(int argc, char *argv[])
     argList::addBoolOption("inside");
     argList args(argc, argv);
 
-    fileName surfFileName(args.additionalArgs()[0]);
-    Info<< "Reading surface from " << surfFileName << endl;
+    const fileName surfFileName = args[1];
+    const point visiblePoint    = args.argRead<point>(2);
+    const fileName outFileName  = args[3];
 
-    point visiblePoint(IStringStream(args.additionalArgs()[1])());
-    Info<< "Visible point " << visiblePoint << endl;
+    const bool orientInside = args.optionFound("inside");
 
-    bool orientInside = args.optionFound("inside");
+    Info<< "Reading surface from " << surfFileName << endl;
+    Info<< "Visible point " << visiblePoint << endl;
 
     if (orientInside)
     {
@@ -67,7 +68,6 @@ int main(int argc, char *argv[])
             << " is outside" << endl;
     }
 
-    fileName outFileName(args.additionalArgs()[2]);
     Info<< "Writing surface to " << outFileName << endl;
 
 
diff --git a/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C b/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C
index f206f6e931eed12b13ec8d832df2ace5e6caef4b..c958f7c360438ce3685eb9f578a58dc016cac80d 100644
--- a/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C
+++ b/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,9 +49,9 @@ int main(int argc, char *argv[])
     argList::validArgs.append("output file");
     argList args(argc, argv);
 
-    fileName surfFileName(args.additionalArgs()[0]);
-    scalar mergeTol(readScalar(IStringStream(args.additionalArgs()[1])()));
-    fileName outFileName(args.additionalArgs()[2]);
+    const fileName surfFileName = args[1];
+    const scalar   mergeTol = args.argRead<scalar>(2);
+    const fileName outFileName = args[3];
 
     Info<< "Reading surface from " << surfFileName << " ..." << endl;
     Info<< "Merging points within " << mergeTol << " meter." << endl;
diff --git a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C
index 24a6facb0f4b4d3e138fbff7fbac9cf13f3c89f3..e875b27af65000e4e5231365e1e5bad8eb88f5c3 100644
--- a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C
+++ b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2007 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,16 +108,16 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
     runTime.functionObjects().off();
 
-    fileName surfFileName(args.additionalArgs()[0]);
-    Info<< "Reading surface from " << surfFileName << nl << endl;
+    const fileName surfFileName = args[1];
+    const word distType = args[2];
 
-    const word distType(args.additionalArgs()[1]);
-
-    Info<< "Using distribution method "
+    Info<< "Reading surface from " << surfFileName << nl
+        << nl
+        << "Using distribution method "
         << distributedTriSurfaceMesh::distributionTypeNames_[distType]
         << " " << distType << nl << endl;
 
-    bool keepNonMapped = args.options().found("keepNonMapped");
+    const bool keepNonMapped = args.options().found("keepNonMapped");
 
     if (keepNonMapped)
     {
diff --git a/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C b/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C
index 7b94ca60e2b89dedca57beddc72936ba1103492c..63bf1c25d89dc8e21509b0f2d9b540188dcd3d8b 100644
--- a/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C
+++ b/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,8 +53,8 @@ int main(int argc, char *argv[])
     argList::validArgs.append("output surface file");
     argList::argList args(argc, argv);
 
-    fileName surfFileName(args.additionalArgs()[0]);
-    fileName outFileName(args.additionalArgs()[1]);
+    const fileName surfFileName = args[1];
+    const fileName outFileName  = args[2];
 
     Info<< "Reading surface from " << surfFileName << " ..." << endl;
 
diff --git a/applications/utilities/surface/surfaceSmooth/surfaceSmooth.C b/applications/utilities/surface/surfaceSmooth/surfaceSmooth.C
index e68f6ab20b2f6d5fb0a281312944d2ced07d1daf..8c57255afecf50f5beafb0497fc33380127a4583 100644
--- a/applications/utilities/surface/surfaceSmooth/surfaceSmooth.C
+++ b/applications/utilities/surface/surfaceSmooth/surfaceSmooth.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,17 +50,18 @@ int main(int argc, char *argv[])
     argList::validArgs.append("output file");
     argList args(argc, argv);
 
-    fileName surfFileName(args.additionalArgs()[0]);
-    scalar relax(readScalar(IStringStream(args.additionalArgs()[1])()));
-    if ((relax <= 0) || (relax > 1))
+    const fileName surfFileName = args[1];
+    const scalar relax = args.argRead<scalar>(2);
+    const label  iters = args.argRead<label>(3);
+    const fileName outFileName = args[4];
+
+    if (relax <= 0 || relax > 1)
     {
         FatalErrorIn(args.executable()) << "Illegal relaxation factor "
             << relax << endl
             << "0: no change   1: move vertices to average of neighbours"
             << exit(FatalError);
     }
-    label iters(readLabel(IStringStream(args.additionalArgs()[2])()));
-    fileName outFileName(args.additionalArgs()[3]);
 
     Info<< "Relax:" << relax << nl
         << "Iters:" << iters << nl
diff --git a/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C b/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C
index a597fc5c2c199030c810a24a3ae7dccc79c3c64c..099ccadf40b855d470ba7ce4d6dec02cfac78ec1 100644
--- a/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C
+++ b/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ int main(int argc, char *argv[])
     argList::validArgs.append("input file");
     argList::argList args(argc, argv);
 
-    fileName surfName(args.additionalArgs()[0]);
+    const fileName surfName = args[1];
 
     Info<< "Reading surf from " << surfName << " ..." << nl << endl;
 
diff --git a/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C b/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C
index 3e8500bee4ea8283728790267d582d450b33b458..8da72b80c44cbac169faf329e0b9b1995995375d 100644
--- a/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C
+++ b/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -545,9 +545,9 @@ void calcPointVecs
 
             if (face0I == -1 && face1I == -1)
             {
-                Info<< "Writing surface to errorSurf.ftr" << endl;
+                Info<< "Writing surface to errorSurf.obj" << endl;
 
-                surf.write("errorSurf.ftr");
+                surf.write("errorSurf.obj");
 
                 FatalErrorIn("calcPointVecs(..)")
                     << "Cannot find two faces using border edge " << edgeI
@@ -557,7 +557,7 @@ void calcPointVecs
                     << " face1I:" << face1I << nl
                     << "faceToEdge:" << faceToEdge << nl
                     << "faceToPoint:" << faceToPoint
-                    << "Written surface to errorSurf.ftr"
+                    << "Written surface to errorSurf.obj"
                     << abort(FatalError);
             }
 
@@ -692,9 +692,9 @@ int main(int argc, char *argv[])
 
     argList args(argc, argv);
 
-    fileName inSurfName(args.additionalArgs()[0]);
-    fileName outSurfName(args.additionalArgs()[1]);
-    bool debug = args.optionFound("debug");
+    const fileName inSurfName  = args[1];
+    const fileName outSurfName = args[2];
+    const bool debug = args.optionFound("debug");
 
 
     Info<< "Reading surface from " << inSurfName << endl;
diff --git a/applications/utilities/surface/surfaceSubset/surfaceSubset.C b/applications/utilities/surface/surfaceSubset/surfaceSubset.C
index 6cc8ee4678438534a81367192ebfe3d04b48d42b..9b782166d7efcc69e6993cb73eb6306d9d0d473c 100644
--- a/applications/utilities/surface/surfaceSubset/surfaceSubset.C
+++ b/applications/utilities/surface/surfaceSubset/surfaceSubset.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,12 +54,15 @@ int main(int argc, char *argv[])
     argList::validArgs.append("output file");
     argList args(argc, argv);
 
-    Info<< "Reading dictionary " << args.additionalArgs()[0] << " ..." << endl;
-    IFstream dictFile(args.additionalArgs()[0]);
+    Info<< "Reading dictionary " << args[1] << " ..." << endl;
+    IFstream dictFile(args[1]);
     dictionary meshSubsetDict(dictFile);
 
-    Info<< "Reading surface " << args.additionalArgs()[1] << " ..." << endl;
-    triSurface surf1(args.additionalArgs()[1]);
+    Info<< "Reading surface " << args[2] << " ..." << endl;
+    triSurface surf1(args[2]);
+
+    const fileName outFileName(args[3]);
+
 
     Info<< "Original:" << endl;
     surf1.writeStats(Info);
@@ -361,8 +364,6 @@ int main(int argc, char *argv[])
     surf2.writeStats(Info);
     Info<< endl;
 
-    fileName outFileName(args.additionalArgs()[2]);
-
     Info<< "Writing surface to " << outFileName << endl;
 
     surf2.write(outFileName);
diff --git a/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C b/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C
index c4adb969a36cf01fd5065cf899b4692954e465e7..1a55d03f2d95318472602281c6874820659db816 100644
--- a/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C
+++ b/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -173,12 +173,12 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 #   include "createPolyMesh.H"
 
-    fileName surfName(args.additionalArgs()[0]);
+    const fileName surfName = args[1];
 
     Info<< "Reading surface from " << surfName << " ..." << endl;
 
     word setName;
-    bool readSet = args.optionReadIfPresent("faceSet", setName);
+    const bool readSet = args.optionReadIfPresent("faceSet", setName);
 
     if (readSet)
     {
diff --git a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C
index 387471521ed37b2e7d0968715aa251c920b97525..e5dd518b11d79884e690b221241ba5bff6da760d 100644
--- a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C
+++ b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,14 +98,11 @@ int main(int argc, char *argv[])
     );
     argList args(argc, argv);
 
-    fileName surfFileName(args.additionalArgs()[0]);
-
-    Info<< "Reading surf from " << surfFileName << " ..." << endl;
-
-    fileName outFileName(args.additionalArgs()[1]);
-
-    Info<< "Writing surf to " << outFileName << " ..." << endl;
+    const fileName surfFileName = args[1];
+    const fileName outFileName  = args[2];
 
+    Info<< "Reading surf from " << surfFileName << " ..." << nl
+        << "Writing surf to " << outFileName << " ..." << endl;
 
     if (args.options().empty())
     {
@@ -119,18 +116,20 @@ int main(int argc, char *argv[])
 
     pointField points(surf1.points());
 
-    if (args.optionFound("translate"))
+    vector v;
+    if (args.optionReadIfPresent("translate", v))
     {
-        vector transVector(args.optionLookup("translate")());
-
-        Info<< "Translating points by " << transVector << endl;
+        Info<< "Translating points by " << v << endl;
 
-        points += transVector;
+        points += v;
     }
 
     if (args.optionFound("rotate"))
     {
-        Pair<vector> n1n2(args.optionLookup("rotate")());
+        Pair<vector> n1n2
+        (
+            args.optionLookup("rotate")()
+        );
         n1n2[0] /= mag(n1n2[0]);
         n1n2[1] /= mag(n1n2[1]);
 
@@ -140,15 +139,12 @@ int main(int argc, char *argv[])
 
         points = transform(T, points);
     }
-    else if (args.optionFound("rollPitchYaw"))
+    else if (args.optionReadIfPresent("rollPitchYaw", v))
     {
-        vector v(args.optionLookup("rollPitchYaw")());
-
         Info<< "Rotating points by" << nl
             << "    roll  " << v.x() << nl
             << "    pitch " << v.y() << nl
-            << "    yaw   " << v.z() << endl;
-
+            << "    yaw   " << v.z() << nl;
 
         // Convert to radians
         v *= pi/180.0;
@@ -158,14 +154,12 @@ int main(int argc, char *argv[])
         Info<< "Rotating points by quaternion " << R << endl;
         points = transform(R, points);
     }
-    else if (args.optionFound("yawPitchRoll"))
+    else if (args.optionReadIfPresent("yawPitchRoll", v))
     {
-        vector v(args.optionLookup("yawPitchRoll")());
-
         Info<< "Rotating points by" << nl
             << "    yaw   " << v.x() << nl
             << "    pitch " << v.y() << nl
-            << "    roll  " << v.z() << endl;
+            << "    roll  " << v.z() << nl;
 
 
         // Convert to radians
@@ -183,15 +177,13 @@ int main(int argc, char *argv[])
         points = transform(R, points);
     }
 
-    if (args.optionFound("scale"))
+    if (args.optionReadIfPresent("scale", v))
     {
-        vector scaleVector(args.optionLookup("scale")());
-
-        Info<< "Scaling points by " << scaleVector << endl;
+        Info<< "Scaling points by " << v << endl;
 
-        points.replace(vector::X, scaleVector.x()*points.component(vector::X));
-        points.replace(vector::Y, scaleVector.y()*points.component(vector::Y));
-        points.replace(vector::Z, scaleVector.z()*points.component(vector::Z));
+        points.replace(vector::X, v.x()*points.component(vector::X));
+        points.replace(vector::Y, v.y()*points.component(vector::Y));
+        points.replace(vector::Z, v.z()*points.component(vector::Z));
     }
 
     surf1.movePoints(points);
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
index e893520b065b4ab1d6f9573ef330fd06f7868d22..a29e0d2106e2df1a7e9797ff407df3ff383b50ad 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
+++ b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ int main(int argc, char *argv[])
     argList::validArgs.append("controlFile");
     argList args(argc, argv);
 
-    fileName controlFileName(args.additionalArgs()[0]);
+    const fileName controlFileName = args[1];
 
     // Construct control dictionary
     IFstream controlFile(controlFileName);
diff --git a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C
index f1cb5ee1b3f174f625713041ed5bfe8a6d43a2ed..3cf8ef503172a5301ff2539422ef37505c99374d 100644
--- a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C
+++ b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,7 +23,8 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Description
-    Converts CHEMKINIII thermodynamics and reaction data files into FOAM format
+    Converts CHEMKINIII thermodynamics and reaction data files into
+    OpenFOAM format.
 
 \*---------------------------------------------------------------------------*/
 
@@ -45,19 +46,14 @@ int main(int argc, char *argv[])
     argList::validArgs.append("FOAMThermodynamicsFile");
     argList args(argc, argv);
 
-    fileName CHEMKINFileName(args.additionalArgs()[0]);
-    fileName thermoFileName(args.additionalArgs()[1]);
-    fileName FOAMChemistryFileName(args.additionalArgs()[2]);
-    fileName FOAMThermodynamicsFileName(args.additionalArgs()[3]);
+    chemkinReader cr(args[1], args[2]);
 
-    chemkinReader cr(CHEMKINFileName, thermoFileName);
-
-    OFstream reactionsFile(FOAMChemistryFileName);
+    OFstream reactionsFile(args[3]);
     reactionsFile
         << "species" << cr.species() << token::END_STATEMENT << nl << nl
         << "reactions" << cr.reactions() << token::END_STATEMENT << endl;
 
-    OFstream thermoFile(FOAMThermodynamicsFileName);
+    OFstream thermoFile(args[4]);
     thermoFile<< cr.speciesThermo() << endl;
 
     Info<< "End\n" << endl;
diff --git a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
index c2186b642df5c6fbbdb1a0d52d0b38b5b82d515a..6ba8fd6bbeee57aeccb2c2ba367f2b8d23f701e1 100644
--- a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
+++ b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,7 +55,7 @@ int main(int argc, char *argv[])
     argList::validArgs.append("controlFile");
     argList args(argc, argv);
 
-    fileName controlFileName(args.additionalArgs()[0]);
+    const fileName controlFileName = args[1];
 
     // Construct control dictionary
     IFstream controlFile(controlFileName);
diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
index 5e4c41dbe9ff9a0d4c2a8d4ab9791d867992e340..90b6eb8d9c7b24672c1fab66a38132a2f8bf3488 100644
--- a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
+++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ int main(int argc, char *argv[])
     argList::validArgs.append("controlFile");
     argList args(argc, argv);
 
-    fileName controlFileName(args.additionalArgs()[0]);
+    const fileName controlFileName(args[1]);
 
     // Construct control dictionary
     IFstream controlFile(controlFileName);
diff --git a/doc/Doxygen/FoamFooter.html b/doc/Doxygen/FoamFooter.html
index 352a32682cd2625f3da76a115ca00a283118c057..3e70a02e792365dc6bf344fbdc3ed0752370a497 100644
--- a/doc/Doxygen/FoamFooter.html
+++ b/doc/Doxygen/FoamFooter.html
@@ -1,4 +1,4 @@
-Copyright&#x00A0;&#169;&#x00A0;2000-2009&#x00A0;OpenCFD Ltd
+Copyright&nbsp;&copy;&nbsp;2000-2010&nbsp;<a href="http://www.openfoam.com/about">OpenCFD Ltd.</a>
 </td></tr>
 </table>
 </body>
diff --git a/doc/Doxygen/FoamHeader.html b/doc/Doxygen/FoamHeader.html
index 3314d3dd6cf2c078b924ed1095808bdaec2e0fc4..3d16a4804a35f9a65114646da5885a558b7c3596 100644
--- a/doc/Doxygen/FoamHeader.html
+++ b/doc/Doxygen/FoamHeader.html
@@ -1,17 +1,13 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
-<html >
+<html>
 <head>
-   <title> OpenFOAM programmer's C++ documentation
-   </title>
+   <title> OpenFOAM programmer's C++ documentation </title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
-<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
 <!-- html,info -->
-<meta name="src" content="index.tex">
-<meta name="date" content="2007-04-12 00:02:00">
 <link rel="stylesheet" type="text/css" href="../Doxygen.css">
 <link rel="stylesheet" type="text/css" href="../tabs.css">
+<link href="../OpenFOAMicon.png" type="image/png" rel="icon" />
 <meta name="keywords" content="computational fluid dynamics, CFD, OpenCFD, OpenFOAM, open source CFD, open source">
 <meta name="description" content="OpenCFD Ltd, leaders in open source Computational Fluid Dynamics (CFD), the developers and maintainers of OpenFOAM: the open source CFD toolbox. We supply support and contracted developments for OpenFOAM">
 </head>
@@ -22,7 +18,7 @@
 <tr>
 <td style="width: 9px; height:54px"></td>
 <td style="width: 250px; height:54px; vertical-align:middle;
-horizontal-align: left; ">
+    horizontal-align: left;">
 <img alt="OpenFOAM logo" src="../OpenFOAMlogo.jpg"> </td>
 <td style="width:350px; height:54px; vertical-align:middle;
 horizontal-align: left; ">
@@ -35,36 +31,35 @@ horizontal-align: left; ">
 </tr>
 </table>
 <!-- Button banner -->
-<table style="border-width: 0px; width: 800px; background: #ffffff;" cellspacing=0 cellpadding=0>
+<table
+    style="border-width: 0px; width: 800px; background: #ffffff;"
+    cellspacing="0" cellpadding="0">
 <tr>
-<td valign=top>
-    <table width=801 border=0 cellspacing=1 cellpadding=0 bgcolor="#ffffff">
+<td valign="top">
+    <table width="801" border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff">
     <tr>
     <td class=leftmenu>&nbsp;
-    <a href="http://foam.sourceforge.net/doc/Doxygen/html"
-    class=menuLefton >Source Guide</a>
+        <a href="http://foam.sourceforge.net/doc/Doxygen/html"
+            class="menuLefton">Source Guide</a>
     </td>
     <td class=topmenu>
-    <a href="http://www.opencfd.co.uk/index.html"
-    class=menuTopoff >OpenCFD</a>
+        <a href="http://www.openfoam.com/about/"
+            class="menuTopoff">OpenCFD</a>
     </td>
     <td class=topmenu>
-    <a href="http://www.opencfd.co.uk/solutions/index.html"
-    class=menuTopoff >Solutions</a>
+        <a href="http://www.openfoam.com/features/"
+            class="menuTopoff">Features</a>
     </td>
     <td class=topmenu>
-    <a href="http://www.opencfd.co.uk/contact/index.html"
-    class=menuTopoff >Contact</a>
+        <a href="http://www.openfoam.com/contact/"
+            class="menuTopoff">Contact</a>
     </td>
     <td class=topmenu>
-    <a href="http://www.opencfd.co.uk/openfoam/index.html"
-    class=menuTopoff >OpenFOAM</a>
-    </td>
-    </tr>
-    <tr>
-    <td>
+        <a href="http://www.openfoam.com/"
+            class="menuTopoff">OpenFOAM</a>
     </td>
     </tr>
+    <tr><td></td></tr>
     </table>
 </td>
 </tr>
diff --git a/doc/Doxygen/OpenFOAMicon.png b/doc/Doxygen/OpenFOAMicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..073c65b684d0ddaa64412ce6637f8e5776bbb2a9
Binary files /dev/null and b/doc/Doxygen/OpenFOAMicon.png differ
diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C
index f574fde3e6e2b20aa0394032b98525fa74c04278..0dba0f482928c30fc25f3f5aa282fa641ad6e54e 100644
--- a/src/OpenFOAM/global/argList/argList.C
+++ b/src/OpenFOAM/global/argList/argList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -251,7 +251,7 @@ bool Foam::argList::regroupArgv(int& argc, char**& argv)
 
     // note: we also re-write directly into args_
     // and use a second pass to sort out args/options
-    for (int argI = 0; argI < argc; argI++)
+    for (int argI = 0; argI < argc; ++argI)
     {
         if (strcmp(argv[argI], "(") == 0)
         {
@@ -369,7 +369,7 @@ Foam::argList::argList
 {
     // Check if this run is a parallel run by searching for any parallel option
     // If found call runPar which might filter argv
-    for (int argI = 0; argI < argc; argI++)
+    for (int argI = 0; argI < argc; ++argI)
     {
         if (argv[argI][0] == '-')
         {
@@ -395,7 +395,7 @@ Foam::argList::argList
     int nArgs = 1;
     string argListString = args_[0];
 
-    for (int argI = 1; argI < args_.size(); argI++)
+    for (int argI = 1; argI < args_.size(); ++argI)
     {
         argListString += ' ';
         argListString += args_[argI];
@@ -751,12 +751,6 @@ Foam::argList::~argList()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-Foam::stringList::subList Foam::argList::additionalArgs() const
-{
-    return stringList::subList(args_, args_.size() - 1, 1);
-}
-
-
 void Foam::argList::printUsage() const
 {
     Info<< "\nUsage: " << executable_ << " [OPTIONS]";
diff --git a/src/OpenFOAM/global/argList/argList.H b/src/OpenFOAM/global/argList/argList.H
index da75c4d066295f2026e3fa79b7a7e582a762e8d0..a39b0f0c86f5cd3f7028294c4cc367421e0b36bf 100644
--- a/src/OpenFOAM/global/argList/argList.H
+++ b/src/OpenFOAM/global/argList/argList.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -193,7 +193,7 @@ public:
 
         // Access
 
-            //- Name of executable
+            //- Name of executable without the path
             inline const word& executable() const;
 
             //- Return root path
@@ -211,9 +211,25 @@ public:
             //- Return arguments
             inline const stringList& args() const;
 
-            //- Return additional arguments,
-            //  i.e. those additional to the executable itself
-            stringList::subList additionalArgs() const;
+            //- Return the argument corresponding to index.
+            inline const string& arg(const label index) const;
+
+            //- Return the number of arguments
+            inline label size() const;
+
+            //- Read a value from the argument at index.
+            //  Index 0 corresponds to the name of the executable.
+            //  Index 1 corresponds to the first argument.
+            template<class T>
+            inline T argRead(const label index) const;
+
+            //- Return arguments that are additional to the executable
+            //  @deprecated use operator[] directly (deprecated Feb 2010)
+            stringList::subList additionalArgs() const
+            {
+                return stringList::subList(args_, args_.size()-1, 1);
+            }
+
 
             //- Return options
             inline const Foam::HashTable<string>& options() const;
@@ -264,6 +280,14 @@ public:
             }
 
 
+            //- Return the argument corresponding to index.
+            //  Index 0 corresponds to the name of the executable.
+            //  Index 1 corresponds to the first argument.
+            inline const string& operator[](const label index) const;
+
+            //- Return the argument string associated with the named option
+            //  @sa option()
+            inline const string& operator[](const word& opt) const;
 
         // Edit
 
diff --git a/src/OpenFOAM/global/argList/argListI.H b/src/OpenFOAM/global/argList/argListI.H
index 6b9b462de0b0a77c7279018de84a27f304eacf18..7e8edcbd1f1504936ccc293cdefe4d403bc705ea 100644
--- a/src/OpenFOAM/global/argList/argListI.H
+++ b/src/OpenFOAM/global/argList/argListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2009-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,6 +64,18 @@ inline const Foam::stringList& Foam::argList::args() const
 }
 
 
+inline const Foam::string& Foam::argList::arg(const label index) const
+{
+    return args_[index];
+}
+
+
+inline Foam::label Foam::argList::size() const
+{
+    return args_.size();
+}
+
+
 inline const Foam::HashTable<Foam::string>& Foam::argList::options() const
 {
     return options_;
@@ -72,7 +84,7 @@ inline const Foam::HashTable<Foam::string>& Foam::argList::options() const
 
 inline const Foam::string& Foam::argList::option(const word& opt) const
 {
-    return options_.operator[](opt);
+    return options_[opt];
 }
 
 
@@ -84,7 +96,7 @@ inline bool Foam::argList::optionFound(const word& opt) const
 
 inline Foam::IStringStream Foam::argList::optionLookup(const word& opt) const
 {
-    return IStringStream(option(opt));
+    return IStringStream(options_[opt]);
 }
 
 
@@ -92,12 +104,36 @@ inline Foam::IStringStream Foam::argList::optionLookup(const word& opt) const
 
 namespace Foam
 {
+    // Template specialization for string
+    template<>
+    inline Foam::string
+    Foam::argList::argRead<Foam::string>(const label index) const
+    {
+        return args_[index];
+    }
+
+    // Template specialization for word
+    template<>
+    inline Foam::word
+    Foam::argList::argRead<Foam::word>(const label index) const
+    {
+        return args_[index];
+    }
+
+    // Template specialization for fileName
+    template<>
+    inline Foam::fileName
+    Foam::argList::argRead<Foam::fileName>(const label index) const
+    {
+        return args_[index];
+    }
+
     // Template specialization for string
     template<>
     inline Foam::string
     Foam::argList::optionRead<Foam::string>(const word& opt) const
     {
-        return option(opt);
+        return options_[opt];
     }
 
     // Template specialization for word
@@ -105,7 +141,7 @@ namespace Foam
     inline Foam::word
     Foam::argList::optionRead<Foam::word>(const word& opt) const
     {
-        return option(opt);
+        return options_[opt];
     }
 
     // Template specialization for fileName
@@ -113,13 +149,23 @@ namespace Foam
     inline Foam::fileName
     Foam::argList::optionRead<Foam::fileName>(const word& opt) const
     {
-        return option(opt);
+        return options_[opt];
     }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+template<class T>
+inline T Foam::argList::argRead(const label index) const
+{
+    T val;
+
+    IStringStream(args_[index])() >> val;
+    return val;
+}
+
+
 template<class T>
 inline T Foam::argList::optionRead(const word& opt) const
 {
@@ -187,4 +233,18 @@ inline T Foam::argList::optionLookupOrDefault
 }
 
 
+// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
+
+inline const Foam::string& Foam::argList::operator[](const label index) const
+{
+    return args_[index];
+}
+
+
+inline const Foam::string& Foam::argList::operator[](const word& opt) const
+{
+    return options_[opt];
+}
+
+
 // ************************************************************************* //
diff --git a/src/OpenFOAM/global/argList/parRun.H b/src/OpenFOAM/global/argList/parRun.H
index c1e5b544bc54001b640931781b24ee76b71d8f04..d2b926d8a4b911d9bab0ee7b77e3846288cec272 100644
--- a/src/OpenFOAM/global/argList/parRun.H
+++ b/src/OpenFOAM/global/argList/parRun.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/OpenFOAM/global/foamVersion.H b/src/OpenFOAM/global/foamVersion.H
index f6f8a7c6dec87ec8282c5539b2c4501bbbe78fe9..50bf27591c0fcba4300efde51605a55552b3eb22 100644
--- a/src/OpenFOAM/global/foamVersion.H
+++ b/src/OpenFOAM/global/foamVersion.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,6 +44,40 @@ Description
 SourceFiles
     global.Cver
 
+
+@mainpage OpenFOAM&reg;: open source CFD
+
+@section about About OpenFOAM
+
+    OpenFOAM is a free, open source CFD software package produced by
+    a commercial company,
+    <a href="http://www.openfoam.com/about">OpenCFD Ltd</a>.
+    It has a
+    large user base across most areas of engineering and science,
+    from both commercial and academic organisations.  OpenFOAM has an
+    extensive range of features to solve anything from complex fluid
+    flows involving chemical reactions, turbulence and heat transfer,
+    to solid dynamics and electromagnetics.
+    <a href="http://www.openfoam.com/features">More ...</a>
+
+@section users Our commitment to the users
+
+    OpenFOAM comes with full commercial support from OpenCFD, including
+    <a href="http://www.openfoam.com/support/software.php">software support</a>,
+    <a href="http://www.openfoam.com/support/development.php">contracted developments</a> and
+    a programme of <a href="http://www.openfoam.com/training">training courses</a>.
+    These activities fund the development, maintenance and release of
+    OpenFOAM to make it an extremely viable commercial open source product.
+
+@section opensource Our commitment to open source
+
+   OpenCFD is committed to open source software, continually developing and
+   maintaining OpenFOAM under the
+   <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public Licence</a>.
+   OpenFOAM will <strong>always</strong> be free of charge and open source.
+   In addition, we endeavour to support other viable open source initiatives
+   that will benefit science and engineering.
+
 \*---------------------------------------------------------------------------*/
 
 #ifndef foamVersion_H
diff --git a/src/OpenFOAM/include/addOverwriteOption.H b/src/OpenFOAM/include/addOverwriteOption.H
new file mode 100644
index 0000000000000000000000000000000000000000..c61548f06bbc894cc8dcfbf4a406e7a0042aa377
--- /dev/null
+++ b/src/OpenFOAM/include/addOverwriteOption.H
@@ -0,0 +1,10 @@
+//
+// addOverwriteOption.H
+// ~~~~~~~~~~~~~~~~~~~~
+
+    Foam::argList::addOption
+    (
+        "overwrite",
+        "overwrite existing mesh/results files"
+    );
+
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/BICCG/BICCG.H b/src/OpenFOAM/matrices/lduMatrix/solvers/BICCG/BICCG.H
index e31b6108f784eba247a1a965119a3c870de79146..bf9b67a763bd7bfe23c3c459a99b27720fb25433 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/BICCG/BICCG.H
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/BICCG/BICCG.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 Deprecated
     This solver is present for backward-compatibility and the PBiCG solver
-    should be used instead.
+    should be used instead. (deprecated Apr 2008)
 
 SourceFiles
     BICCG.C
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/ICCG/ICCG.H b/src/OpenFOAM/matrices/lduMatrix/solvers/ICCG/ICCG.H
index ddf1a7a8f8ebba03dadbca372b568fe456f8517a..8ac919a31ea711c703667cfa5c10f600915db03e 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/ICCG/ICCG.H
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/ICCG/ICCG.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 Deprecated
     This solver is present for backward-compatibility and the PCG solver
-    should be used for preference.
+    should be used for preference. (deprecated Apr 2008)
 
 SourceFiles
     ICCG.C
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotation.H b/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotation.H
index 429d6ef8effe190a914f140dafc7f49cc9c2459b..3ed390c307818e177ace26cc5659696a411d080a 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotation.H
+++ b/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotation.H
@@ -65,6 +65,7 @@ Deprecated
     Specifying the local vectors as an @c axis (corresponding to e3) and a
     @c direction (corresponding to e1), is allowed for backwards
     compatibility, but this terminology is generally a bit confusing.
+    (deprecated Apr 2008)
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/src/meshTools/coordinateSystems/coordinateSystem.H b/src/meshTools/coordinateSystems/coordinateSystem.H
index cfdecfd398e35f3ede00c2a6936aff138b6c9ab4..61dadf278f2f11a1579e75530c1a1cbd3a0ae3c4 100644
--- a/src/meshTools/coordinateSystems/coordinateSystem.H
+++ b/src/meshTools/coordinateSystems/coordinateSystem.H
@@ -365,14 +365,14 @@ public:
             }
 
             //- Return axis (e3: local Cartesian z-axis)
-            // @deprecated method e3 is preferred
+            // @deprecated method e3 is preferred (deprecated Apr 2008)
             const vector& axis() const
             {
                 return Rtr_.z();
             }
 
             //- Return direction (e1: local Cartesian x-axis)
-            // @deprecated method e1 is preferred
+            // @deprecated method e1 is preferred (deprecated Apr 2008)
             const vector& direction() const
             {
                 return Rtr_.x();
diff --git a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
index fdccecf61778000882eeb37d6a50135ae62956f6..8839badd67760d4720036c47b629797a26868ce6 100644
--- a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
+++ b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -411,9 +411,8 @@ Foam::booleanSurface::booleanSurface
         Pout<< "booleanSurface : Generated cutSurf1: " << endl;
         cutSurf1.writeStats(Pout);
 
-        Pout<< "Writing to file cutSurf1.ftr" << endl;
-        OFstream cutSurf1Stream("cutSurf1.ftr");
-        cutSurf1.write(cutSurf1Stream);
+        Pout<< "Writing to file cutSurf1.obj" << endl;
+        cutSurf1.write("cutSurf1.obj");
     }
 
     if (debug)
@@ -430,9 +429,8 @@ Foam::booleanSurface::booleanSurface
         Pout<< "booleanSurface : Generated cutSurf2: " << endl;
         cutSurf2.writeStats(Pout);
 
-        Pout<< "Writing to file cutSurf2.ftr" << endl;
-        OFstream cutSurf2Stream("cutSurf2.ftr");
-        cutSurf2.write(cutSurf2Stream);
+        Pout<< "Writing to file cutSurf2.obj" << endl;
+        cutSurf2.write("cutSurf2.obj");
     }
 
 
@@ -768,9 +766,8 @@ Foam::booleanSurface::booleanSurface
         Pout<< "booleanSurface : Generated cutSurf1: " << endl;
         cutSurf1.writeStats(Pout);
 
-        Pout<< "Writing to file cutSurf1.ftr" << endl;
-        OFstream cutSurf1Stream("cutSurf1.ftr");
-        cutSurf1.write(cutSurf1Stream);
+        Pout<< "Writing to file cutSurf1.obj" << endl;
+        cutSurf1.write("cutSurf1.obj");
     }
 
 
@@ -792,9 +789,8 @@ Foam::booleanSurface::booleanSurface
         Pout<< "booleanSurface : Generated cutSurf2: " << endl;
         cutSurf2.writeStats(Pout);
 
-        Pout<< "Writing to file cutSurf2.ftr" << endl;
-        OFstream cutSurf2Stream("cutSurf2.ftr");
-        cutSurf2.write(cutSurf2Stream);
+        Pout<< "Writing to file cutSurf2.obj" << endl;
+        cutSurf2.write("cutSurf2.obj");
     }
 
 
@@ -920,9 +916,8 @@ Foam::booleanSurface::booleanSurface
         Pout<< "booleanSurface : Generated combinedSurf: " << endl;
         combinedSurf.writeStats(Pout);
 
-        Pout<< "Writing to file combinedSurf.ftr" << endl;
-        OFstream combinedSurfStream("combinedSurf.ftr");
-        combinedSurf.write(combinedSurfStream);
+        Pout<< "Writing to file combinedSurf.obj" << endl;
+        combinedSurf.write("combinedSurf.obj");
     }
 
 
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
index ca0c0a757857d417846eed1ce3f3e2ca836d0703..9859d56546235d67a4717da5ebc2798d90cd9d3b 100644
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
+++ b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -213,8 +213,8 @@ void Foam::calcTypes::addSubtract::preCalc
     const fvMesh& mesh
 )
 {
-    baseFieldName_ = args.additionalArgs()[1];
-    word calcModeName = args.additionalArgs()[2];
+    baseFieldName_ = args[2];
+    const word calcModeName = args[3];
 
     if (calcModeName == "add")
     {
@@ -232,14 +232,12 @@ void Foam::calcTypes::addSubtract::preCalc
             << exit(FatalError);
     }
 
-    if (args.optionFound("field"))
+    if (args.optionReadIfPresent("field", addSubtractFieldName_))
     {
-        addSubtractFieldName_ = args.option("field");
         calcType_ = FIELD;
     }
-    else if (args.optionFound("value"))
+    else if (args.optionReadIfPresent("value", addSubtractValueStr_))
     {
-        addSubtractValueStr_ = args.option("value");
         calcType_ = VALUE;
     }
     else
@@ -249,10 +247,7 @@ void Foam::calcTypes::addSubtract::preCalc
             << nl << exit(FatalError);
     }
 
-    if (args.optionFound("resultName"))
-    {
-        resultName_ = args.option("resultName");
-    }
+    args.optionReadIfPresent("resultName", resultName_);
 }
 
 
diff --git a/src/postProcessing/foamCalcFunctions/field/components/components.C b/src/postProcessing/foamCalcFunctions/field/components/components.C
index 35254bbca26c5d8befc4eb48a15a7163eb1dacd5..33b9013a8e99778ccb4af3601c11b2812aeaad7b 100644
--- a/src/postProcessing/foamCalcFunctions/field/components/components.C
+++ b/src/postProcessing/foamCalcFunctions/field/components/components.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::calcTypes::components::calc
     const fvMesh& mesh
 )
 {
-    const word& fieldName = args.additionalArgs()[1];
+    const word fieldName = args[2];
 
     IOobject fieldHeader
     (
diff --git a/src/postProcessing/foamCalcFunctions/field/div/div.C b/src/postProcessing/foamCalcFunctions/field/div/div.C
index 0b1492dc39aacda9e7635f9f8d8f95c14737a48b..e43723f8ef4b20c2c7f36476581c0c2894b18882 100644
--- a/src/postProcessing/foamCalcFunctions/field/div/div.C
+++ b/src/postProcessing/foamCalcFunctions/field/div/div.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::calcTypes::div::calc
     const fvMesh& mesh
 )
 {
-    const word& fieldName = args.additionalArgs()[1];
+    const word fieldName = args[2];
 
     IOobject fieldHeader
     (
diff --git a/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C b/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C
index 9a00b63386385521587ae612b0c83eddb9379485..f826a334e397c863efaa9d876d82f9aaf1392397 100644
--- a/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C
+++ b/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::calcTypes::interpolate::calc
     const fvMesh& mesh
 )
 {
-    const word& fieldName = args.additionalArgs()[1];
+    const word fieldName = args[2];
 
     IOobject fieldHeader
     (
diff --git a/src/postProcessing/foamCalcFunctions/field/mag/mag.C b/src/postProcessing/foamCalcFunctions/field/mag/mag.C
index cc86e8fa89ecda6e8e0862312e5ef62467ecb5c0..dcbf964991d36953c9ba174d9fdcdfe347b7d9f0 100644
--- a/src/postProcessing/foamCalcFunctions/field/mag/mag.C
+++ b/src/postProcessing/foamCalcFunctions/field/mag/mag.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::calcTypes::mag::calc
     const fvMesh& mesh
 )
 {
-    const word& fieldName = args.additionalArgs()[1];
+    const word fieldName = args[2];
 
     IOobject fieldHeader
     (
diff --git a/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C b/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C
index 92722d917cb3712aed884d5d0d03d02f39f5e310..5e002044acedf12e0d481c148830a8e5ef8bd942 100644
--- a/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C
+++ b/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::calcTypes::magGrad::calc
     const fvMesh& mesh
 )
 {
-    const word& fieldName = args.additionalArgs()[1];
+    const word fieldName = args[2];
 
     IOobject fieldHeader
     (
diff --git a/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C b/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C
index 5bce397e0796bf9ffc02815bcf3267b0000e0d2d..d241685208a6235a67e965ed00be38e18702c6e9 100644
--- a/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C
+++ b/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::calcTypes::magSqr::calc
     const fvMesh& mesh
 )
 {
-    const word& fieldName = args.additionalArgs()[1];
+    const word fieldName = args[2];
 
     IOobject fieldHeader
     (
diff --git a/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C b/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C
index 8a956c1911656f20866fd8ac6c9b993eaa0e56f5..c156a30fb2b8cffa4ca9f8b26e1791be16417e54 100644
--- a/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C
+++ b/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,9 +79,8 @@ void Foam::calcTypes::randomise::calc
     const fvMesh& mesh
 )
 {
-    const stringList& params = args.additionalArgs();
-    const scalar pertMag = readScalar(IStringStream(params[1])());
-    const word& fieldName = params[2];
+    const scalar pertMag = args.argRead<scalar>(2);
+    const word fieldName = args[3];
 
     Random rand(1234567);
 
diff --git a/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.H b/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.H
index 767bf19707e11f862cb54cda49f08af05c1bc5bb..e5e353a72248aba4c74990c2491a9a479bed505c 100644
--- a/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.H
+++ b/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.H
@@ -29,6 +29,9 @@ Description
     Reading of the (now deprecated and infrequently used)
     Foam Trisurface Format.
 
+Deprecated
+    Other formats are better. (deprecated Mar 2009)
+
 SourceFiles
     FTRsurfaceFormat.C
 
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
index 29cc29abd53a0b7cd6506cbaa037e9dc112923fc..c2ae406306c56931aba8c609367cf52dc07d85ef 100755
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
@@ -7,11 +7,12 @@ application=`getApplication`
 
 runStarToFoam ()
 {
-    if [ -f log.starToFoam ] ; then
-        echo "starToFoam already run on $PWD: remove log file to run"
+    if [ -f log.star3ToFoam -o -f log.starToFoam ]
+    then
+        echo "star3ToFoam already run on $PWD: remove log file to run"
     else
-        echo "starToFoam: converting mesh $1"
-        starToFoam $1 > log.starToFoam 2>&1
+        echo "star3ToFoam: converting mesh $1"
+        star3ToFoam $1 > log.star3ToFoam 2>&1
     fi
 }
 
@@ -21,3 +22,5 @@ sed -e s/"\([\t ]*type[\t ]*\)symmetryPlane"/"\1empty"/g \
     temp > constant/polyMesh/boundary
 rm temp
 runApplication $application
+
+# end-of-file