diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index 9b644b9aa604f5518a142dc8e3f059d337e4f4d3..1eb6e273caa965ca3628b6f5a28aeb8c8db21271 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -48,7 +48,6 @@ SET(NEWHEADERS
   sot/core/op-point-modifier.hh
   sot/core/vector-quaternion.hh
   sot/core/vector-roll-pitch-yaw.hh
-  sot/core/feature-posture.h
   sot/core/feature-point6d.hh
   sot/core/feature-vector3.hh
   sot/core/feature-abstract.hh
diff --git a/include/sot/core/derivator.hh b/include/sot/core/derivator.hh
index 4ba09b1f4044273cb6d223476a9e970756749918..5ad3c3c06345eb551cf4196d386b8291c8f57945 100644
--- a/include/sot/core/derivator.hh
+++ b/include/sot/core/derivator.hh
@@ -50,6 +50,7 @@ template< class T >
 class Derivator
 :public dg::Entity
 {
+  DYNAMIC_GRAPH_ENTITY_DECL();
  protected:
   T memory;
   bool initialized;
@@ -59,8 +60,7 @@ class Derivator
  public: /* --- CONSTRUCTION --- */
 
   static std::string getTypeName( void ) { return "Unknown"; }
-  virtual const std::string& getClassName( void ) const { return CLASS_NAME; }
-  static const std::string CLASS_NAME;
+
 
   Derivator( const std::string& name )
     : dg::Entity(name)
diff --git a/include/sot/core/gripper-control.hh b/include/sot/core/gripper-control.hh
index 69dbe823784631c1b381f553290ef597244c17e1..758d8fbe804496d58f269b1da68d724415df85fa 100644
--- a/include/sot/core/gripper-control.hh
+++ b/include/sot/core/gripper-control.hh
@@ -61,6 +61,7 @@ namespace dg = dynamicgraph;
 
 class SOTGRIPPERCONTROL_EXPORT GripperControl
 {
+  DYNAMIC_GRAPH_ENTITY_DECL();
  protected:
 
   double offset;
@@ -103,8 +104,8 @@ class SOTGRIPPERCONTROL_EXPORT GripperControl
 class SOTGRIPPERCONTROL_EXPORT GripperControlPlugin
 :public dg::Entity, public GripperControl
 {
+  DYNAMIC_GRAPH_ENTITY_DECL();
  public:
-  static const std::string CLASS_NAME;
   bool calibrationStarted;
 
 
@@ -112,7 +113,7 @@ class SOTGRIPPERCONTROL_EXPORT GripperControlPlugin
 
   GripperControlPlugin( const std::string& name );
   virtual ~GripperControlPlugin( void );
-  virtual const std::string& getClassName( void ) const { return CLASS_NAME; }
+
  public: /* --- SIGNAL --- */
 
   /* --- INPUTS --- */
diff --git a/include/sot/core/reader.hh b/include/sot/core/reader.hh
index b855a77c90418b61665ed372118d5cd1f1f7913f..5ee2e4fddd4ada5d214bfc57659d61eace748f5e 100644
--- a/include/sot/core/reader.hh
+++ b/include/sot/core/reader.hh
@@ -70,9 +70,7 @@ using dynamicgraph::sot::Flags;
 class SOTREADER_EXPORT sotReader
 : public Entity
 {
- public: 
-  static const std::string CLASS_NAME;
-  virtual const std::string& getClassName( void ) const { return CLASS_NAME; }
+  DYNAMIC_GRAPH_ENTITY_DECL();
 
  public: 
 
diff --git a/include/sot/core/sequencer.hh b/include/sot/core/sequencer.hh
index 2482d8ae298395a7ca302fa1b37ad169752a38fe..a17804530d2873420f68f34ccb866e4df1467990 100644
--- a/include/sot/core/sequencer.hh
+++ b/include/sot/core/sequencer.hh
@@ -65,9 +65,7 @@ namespace dynamicgraph {
     class SOTSEQUENCER_EXPORT Sequencer
       :public dynamicgraph::Entity
       {
-      public:
-	static const std::string CLASS_NAME;
-	virtual const std::string& getClassName( void ) const { return CLASS_NAME; }
+	DYNAMIC_GRAPH_ENTITY_DECL();
 
       public:
 	class sotEventAbstract