diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000000000000000000000000000000000000..669449dc4b05db22e4bfa931be6ccdc35917784c
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,21 @@
+#
+#  Copyright
+#
+
+Installation instructions for library dynamicGraph
+----------------------------------------------
+
+It is recommended to create a specific directory to install this package.
+mkdir build
+cd build
+cmake [Options] ..
+make 
+make install
+
+Options:
+
+-DCMAKE_INSTALL_PREFIX=...
+  specifies the directory where to install the package.
+
+-DCMAKE_BUILD_TYPE=[none|debug|release|relwithdebinfo|MinSizeRel]
+  specifies to type of compilation (release, debug, ...)
diff --git a/doc/additionalDoc/package.h b/doc/additionalDoc/package.h
index 4d22c8469da725dc17adb50b0dc70f618122d304..496b9535023f33a7bce1f72062400c180f8ccffc 100644
--- a/doc/additionalDoc/package.h
+++ b/doc/additionalDoc/package.h
@@ -5,4 +5,41 @@
 
 This package implements ...
 
+@defgroup factory Plugin management modules.
+@ingroup factory
+
+This code implements the factory design pattern, making creation of features,
+tasks and objects available.
+
+Objects, which are derived from Entities, Tasks, or Features, can be
+ declared within the code and compiled to shared librairies (.so/.dll files).
+These librairies can be loaded at run-time using the sotPluginLoader methods,
+and at the same time register their class names to the Factory (see the
+sotFactory documentation to learn how).
+
+The Factory can then create instances of these objects and subsequently
+register them in the Pool, where they can be listed, accessed, and acted upon
+(see sotPoolStorage documentation). Basic commands defined by entities include
+signal connection graph file generation, help and name print, and signals.
+
+Finally, a shell (command-line) interface is made available thanks to the
+sotInterpretor class (see the file test_shell.cpp). Objects deriving from
+Entity can expose their own commands by overriding the Entity's default
+commandLine() method. It is possible to load a plugin to register custom
+shell commands; see sotShellFunctions and sotShellProcedure for an example.
+
+The public static objects (singletons) made available by including the
+corresponding headers in this module are:
+\li factory: FactoryStorage
+\li pool: PoolStorage
+\li Shell: Interpreter
+
+\image html schema_plugin.png
+
+
+@defgroup signals Signals
+@ingroup softwaresupport
+This part provides the mechanism to transfer information
+from one feature to another.
+
 */
diff --git a/doc/pictures/schema_plugin.png b/doc/pictures/schema_plugin.png
new file mode 100644
index 0000000000000000000000000000000000000000..02215f624e985daf346bfe5b432d19cd46e93a98
Binary files /dev/null and b/doc/pictures/schema_plugin.png differ
diff --git a/src/debug/debug.cpp b/src/debug/debug.cpp
index f5def6f82effaa25aff1cce4d5fe987db9e53953..a8bc457fb91b9e5ee96042c67d19937513a8031b 100644
--- a/src/debug/debug.cpp
+++ b/src/debug/debug.cpp
@@ -63,9 +63,10 @@ std::ofstream dg_debugfile; //( "/dev/null", std::ios::trunc&std::ios::out );
 
 #endif
 
-DebugTrace dgDebugFLOW(dg_debugfile);
-DebugTrace dgERRORFLOW(dg_debugfile);
-
+namespace dynamicgraph {
+	DebugTrace dgDEBUGFLOW(dg_debugfile);
+	DebugTrace dgERRORFLOW(dg_debugfile);
+}
 
 void DebugTrace::openFile( const char * filename )
 {
diff --git a/src/dgraph/SourcesLib.cmake b/src/dgraph/SourcesLib.cmake
index c7b607e9a9333e9687dd857b7ea63fa9411bf8a2..98c496ade80285ebeb18a2a02a601e5d8c0a7b50 100644
--- a/src/dgraph/SourcesLib.cmake
+++ b/src/dgraph/SourcesLib.cmake
@@ -22,6 +22,12 @@ SET(libdg_${SOT_MODULE_NAME}_plugins_src
       dgraph/shell-procedure.cpp
 )
 
+# Specify the compile flags for source file.
+SET_SOURCE_FILES_PROPERTIES(${SOT_MODULE_NAME}/shell-functions.cpp 
+			    ${SOT_MODULE_NAME}/shell-procedure.cpp
+        		    PROPERTIES 	 
+			    COMPILE_FLAGS "${MatrixAbstractLayer_cflags}" )
+
 # ---------------------------------------------------------------
 # --- GENERIC RULES ---------------------------------------------
 # ---------------------------------------------------------------
diff --git a/src/dgraph/interpreter.cpp b/src/dgraph/interpreter.cpp
index e3794e38f46bbaaff705a4ac2736a6a43bbd333b..cb917bd7f23b4f755639de1a776e274b45b06be7 100644
--- a/src/dgraph/interpreter.cpp
+++ b/src/dgraph/interpreter.cpp
@@ -400,6 +400,7 @@ cmdComputeSignal( const std::string& cmdLine, std::istringstream& cmdArg, std::o
 void Interpreter::
 cmd( const std::string& cmdLine, istringstream& cmdArg, std::ostream& os )
 {
+ cout << "#HACK cmd(" << cmdArg.str() << ")" << endl;
   istringstream cmdparse(cmdLine.c_str());
   string obj,fun;
   if (cmdLine.find_first_not_of(" ") == string::npos)
@@ -486,6 +487,7 @@ ShellFunctionRegisterer( const std::string& funName,
 			    const Interpreter::ShellBasicFunction& f)
 {
   dgDEBUGIN(25);
+  cout << "#HACK registering " << funName << endl;
   Shell.registerFunction(funName,f);
   dgDEBUGOUT(25);
 }
@@ -504,5 +506,8 @@ void Interpreter::writeCompletionList(std::ostream& os)
 
 }
 
+namespace dynamicgraph {
 //! The global Shell object.
-Interpreter dynamicgraph::Shell;
+	Interpreter Shell;
+}
+
diff --git a/src/dgraph/interpreter.h b/src/dgraph/interpreter.h
index 981a8e96aa5ce2b21eb11cf4e6cfa7b06f51f3c7..645e0d06c88bfdc17976c294c2808c8988298bbd 100644
--- a/src/dgraph/interpreter.h
+++ b/src/dgraph/interpreter.h
@@ -180,9 +180,6 @@ class DYNAMICGRAPH_EXPORT Interpreter
 
 };
 
-
-DYNAMICGRAPH_EXPORT extern Interpreter Shell;
-
 /* -------------------------------------------------------------------------- */
 /* -------------------------------------------------------------------------- */
 /* -------------------------------------------------------------------------- */
@@ -204,9 +201,12 @@ public:
 	ShellFunctionRegisterer reg( name,boost::bind(fun,_1,_2,_3) );\
   }
 
+DYNAMICGRAPH_EXPORT extern Interpreter Shell;
 
 } // namespace dynamicgraph
 
+
+
 #endif /* #ifndef  */
 
 
diff --git a/src/dgraph/shell-functions.cpp b/src/dgraph/shell-functions.cpp
index 78dec1b184eee93b4016cc9bb51fcfc679820a4c..0a4a9f1071612e93b149e89b84cfbd4eb01f6797 100644
--- a/src/dgraph/shell-functions.cpp
+++ b/src/dgraph/shell-functions.cpp
@@ -488,9 +488,9 @@ cmdCompletionList( const std::string cmdLine, istringstream& cmdArg, std::ostrea
 
 
 extern "C" {
-   ShellFunctionRegisterer regFun2
-   ( "try",boost::bind(ShellFunctions::cmdTry,_1,_2,_3) );
    ShellFunctionRegisterer regFun1
+   ( "try",boost::bind(ShellFunctions::cmdTry,_1,_2,_3) );
+   ShellFunctionRegisterer regFun2
    ( "loadPlugins",boost::bind(ShellFunctions::cmdLoadPlugins,_1,_2,_3) );
    ShellFunctionRegisterer regFun3
     ( "displayPlugins",boost::bind(ShellFunctions::cmdDisplayPlugins,_1,_2,_3) );
diff --git a/src/dgraph/shell-functions.h b/src/dgraph/shell-functions.h
index 592056a59474cb41072539b45aad58573ad41b28..e5cf34100463ebd2db2e96751438d94daca50ce2 100644
--- a/src/dgraph/shell-functions.h
+++ b/src/dgraph/shell-functions.h
@@ -60,6 +60,7 @@
 #define STATIC_SHELL_FUNCTION( name ) \
   static void name( const std::string cmd,std::istringstream& args, \
                        std::ostream& os )
+
 /*! @ingroup dgraph
   \brief This plugin implements a bunch of useful shell commands.
 
@@ -93,6 +94,4 @@ class SHELLFUNCTIONS_EXPORT ShellFunctions
 };
 
 
-
-
 #endif //#ifndef __SOT_SHELL_FUNCTIONS_HH__