Index: trunk/FACT++/src/mcp.cc
===================================================================
--- trunk/FACT++/src/mcp.cc	(revision 12242)
+++ trunk/FACT++/src/mcp.cc	(revision 12243)
@@ -194,5 +194,5 @@
     {
         fRunType = "";
-	Message("Resetiing configuration states of FAD and FTM");
+	Message("Reseting configuration states of FAD and FTM");
 	Dim::SendCommand("FTM_CONTROL/RESET_CONFIGURE");
 	Dim::SendCommand("FAD_CONTROL/RESET_CONFIGURE");
@@ -292,5 +292,5 @@
 		{
 		    Message("Starting datalogger");
-		    Dim::SendCommand("DATA_LOGGER/WAIT_FOR_RUN_NUMBER");
+                    Dim::SendCommand("DATA_LOGGER/START_RUN_LOGGING");
 		}
 		Message("Configuring Trigger (FTM)");
@@ -388,8 +388,8 @@
 
         AddStateName(kStateConfiguring2, "Configuring2",
-                     ".");
+                     "Waiting for FTM and Datalogger to get ready");
 
         AddStateName(kStateConfiguring3, "Configuring3",
-                     ".");
+                     "Waiting for FAD to get ready");
 
         AddStateName(kStateConfigured, "Configured",
Index: trunk/FACT++/src/ratescan.cc
===================================================================
--- trunk/FACT++/src/ratescan.cc	(revision 12242)
+++ trunk/FACT++/src/ratescan.cc	(revision 12243)
@@ -502,5 +502,5 @@
     control.add_options()
         ("max-wait",   var<uint16_t>(150), "The maximum number of seconds to wait to get the anticipated resolution for a point.")
-        ("resolution", var<double>(0.05),  "The minimum resolution required for a single data point.")
+        ("resolution", var<double>(0.05) , "The minimum resolution required for a single data point.")
         ;
 
@@ -529,4 +529,6 @@
 void PrintHelp()
 {
+    Main::PrintHelp<StateMachineRateScan>();
+
     /* Additional help text which is printed after the configuration
      options goes here */
Index: trunk/FACT++/src/tools.cc
===================================================================
--- trunk/FACT++/src/tools.cc	(revision 12242)
+++ trunk/FACT++/src/tools.cc	(revision 12243)
@@ -73,2 +73,43 @@
     return str.substr(start, end-start+1);
 }
+
+// --------------------------------------------------------------------------
+//
+//! This is a static helper to remove leading and trailing whitespaces.
+//!
+//! Usage example:
+//!
+//! \code
+//!    string str = "     Dies ist ein test fuer einen ganz     langen Satz "
+//!        "und ob er korrekt umgebrochen und formatiert wird. Alles "
+//!        "nur ein simpler test aber trotzdem ganz wichtig.";
+//!
+//!    cout << setfill('-') << setw(40) << "+" << endl;
+//!    while (1)
+//!    {
+//!        const string rc = Tools::Wrap(str, 40);
+//!        if (rc.empty())
+//!            break;
+//!        cout << rc << endl;
+//!    }
+//! \endcode
+//!
+string Tools::Wrap(string &str, size_t width)
+{
+    const size_t pos = str.length()<width ? string::npos : str.find_last_of(' ', width);
+    if (pos==string::npos)
+    {
+        const string rc = str;
+        str = "";
+        return rc;
+    }
+
+    const size_t indent = str.find_first_not_of(' ');
+
+    const string rc = str.substr(0, pos);
+    const size_t p2 = str.find_first_not_of(' ', pos+1);
+
+    str = str.substr(0, indent) + str.substr(p2==string::npos ? pos+1 : p2);
+
+    return rc;
+}
Index: trunk/FACT++/src/tools.h
===================================================================
--- trunk/FACT++/src/tools.h	(revision 12242)
+++ trunk/FACT++/src/tools.h	(revision 12243)
@@ -1,2 +1,5 @@
+#ifndef FACT_Tools
+#define FACT_Tools
+
 #include <string>
 
@@ -6,3 +9,6 @@
     std::string Form(const char *fmt, ...);
     std::string Trim(const std::string &str);
+    std::string Wrap(std::string &str, size_t width=78);
 }
+
+#endif
