Index: branches/new_class_id/src/lib/collision_reaction/collision.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision.cc	(revision 9688)
@@ -18,7 +18,4 @@
 #include "collision.h"
 #include "debug.h"
-
-
-
 
 /**
Index: branches/new_class_id/src/lib/collision_reaction/collision.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision.h	(revision 9688)
@@ -21,5 +21,4 @@
 class Collision
 {
-
   public:
     Collision();
Index: branches/new_class_id/src/lib/collision_reaction/collision_event.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision_event.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision_event.cc	(revision 9688)
@@ -18,7 +18,4 @@
 #include "collision_event.h"
 #include "debug.h"
-
-
-
 
 /**
Index: branches/new_class_id/src/lib/collision_reaction/collision_event.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision_event.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision_event.h	(revision 9688)
@@ -20,5 +20,4 @@
 //! A class representing a simple collision
 class CollisionEvent {
-
  public:
    CollisionEvent();
Index: branches/new_class_id/src/lib/collision_reaction/collision_handle.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision_handle.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision_handle.cc	(revision 9688)
@@ -30,5 +30,5 @@
 
 
-
+NewObjectListDefinition(CollisionHandle);
 
 /**
@@ -38,5 +38,5 @@
 CollisionHandle::CollisionHandle (WorldEntity* owner, CREngine::CRType type)
 {
-  this->setClassID(CL_COLLISION_HANDLE, "CollisionHandle");
+  this->registerObject(this, CollisionHandle::_objectList);
 
   this->owner = owner;
@@ -94,16 +94,16 @@
  *  @param classID the classid to look for
  */
-void CollisionHandle::addTarget(long target)
+void CollisionHandle::addTarget(const NewClassID& target)
 {
   // make sure there is no dublicate
-  std::vector<long>::iterator it = this->targetList.begin();
+  std::vector<NewClassID>::iterator it = this->targetList.begin();
   for( ; it < this->targetList.end(); it++)
     if( (*it) == target)
       return;
 
+
   // add element
-   PRINTF(5)("addTarget: %i \n", target);
-
-   this->targetList.push_back(target);
+  this->targetList.push_back(target);
+   PRINTF(5)("addTarget: %i \n", target.id());
 }
 
@@ -227,5 +227,5 @@
 bool CollisionHandle::filterCollisionEvent(CollisionEvent* collisionEvent)
 {
-  std::vector<long>::iterator it = this->targetList.begin();
+  std::vector<NewClassID>::iterator it = this->targetList.begin();
   for(; it < this->targetList.end(); it++)
   {
@@ -253,13 +253,13 @@
 
     if( collisionEvent->getEntityA() == this->owner) {
-      if( collisionEvent->getEntityB()->isA((ClassID)(*it))) {
+      if( collisionEvent->getEntityB()->isA((*it))) {
         PRINTF(5)("I am: %s colliding with: %s is a %i filter ok\n", owner->getClassCName(),
-                  collisionEvent->getEntityB()->getClassCName(), *it);
+	collisionEvent->getEntityB()->getClassCName(), (*it).id());
         return true; }
     }
     else {
-      if( collisionEvent->getEntityA()->isA((ClassID)(*it))) {
+      if( collisionEvent->getEntityA()->isA((*it))) {
         PRINTF(5)("I am: %s colliding with: %s is a %i filter ok\n", owner->getClassCName(),
-                  collisionEvent->getEntityA()->getClassCName(), *it);
+	collisionEvent->getEntityA()->getClassCName(), (*it).id());
       return true; }
     }
@@ -276,5 +276,5 @@
 bool CollisionHandle::filterCollision(Collision* collision)
 {
-  std::vector<long>::iterator it = this->targetList.begin();
+  std::vector<NewClassID>::iterator it = this->targetList.begin();
   for(; it < this->targetList.end(); it++)
   {
@@ -302,8 +302,8 @@
 
     if( collision->getEntityA() == this->owner) {
-      if( collision->getEntityA()->isA((ClassID)(*it)))
+      if( collision->getEntityA()->isA(*it))
         return true; }
       else {
-        if( collision->getEntityB()->isA((ClassID)(*it)))
+        if( collision->getEntityB()->isA(*it))
           return true; }
   }
Index: branches/new_class_id/src/lib/collision_reaction/collision_handle.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision_handle.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision_handle.h	(revision 9688)
@@ -23,5 +23,5 @@
 class CollisionHandle : public BaseObject
 {
-
+  NewObjectListDeclaration(CollisionHandle);
   public:
     CollisionHandle(WorldEntity* owner, CREngine::CRType type);
@@ -30,5 +30,5 @@
     void reset();
 
-    void addTarget(long target);
+    void addTarget(const NewClassID& target);
     Collision* registerCollision(WorldEntity* entityA, WorldEntity* entityB);
     void registerSharedCollision(Collision* collision);
@@ -64,5 +64,5 @@
 
     std::vector<Collision*>       collisionList;           //!< a list full of collisions
-    std::vector<long>             targetList;              //!< a list of target classes for filtering
+    std::vector<NewClassID>          targetList;              //!< a list of target classes for filtering @TODO TAKE SET INSTEAD OF VECTOR HERE
 
     CollisionReaction*            collisionReaction;       //!< reference to the collision reaction object
Index: branches/new_class_id/src/lib/collision_reaction/collision_reaction.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision_reaction.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision_reaction.cc	(revision 9688)
@@ -20,5 +20,5 @@
 
 
-
+NewObjectListDefinition(CollisionReaction);
 
 /**
@@ -28,5 +28,5 @@
   : BaseObject()
 {
-  this->setClassID(CL_COLLISION_REACTION, "CollisionReaction");
+  this->registerObject(this, CollisionReaction::_objectList);
 }
 
Index: branches/new_class_id/src/lib/collision_reaction/collision_reaction.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/collision_reaction.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/collision_reaction.h	(revision 9688)
@@ -18,5 +18,5 @@
 class CollisionReaction : public BaseObject
 {
-
+  NewObjectListDeclaration(CollisionReaction);
   public:
     CollisionReaction();
Index: branches/new_class_id/src/lib/collision_reaction/cr_engine.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_engine.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_engine.cc	(revision 9688)
@@ -29,5 +29,5 @@
 
 
-
+NewObjectListDefinition(CREngine);
 /**
  * standard constructor
@@ -36,5 +36,5 @@
   : BaseObject()
 {
-   this->setClassID(CL_CR_ENGINE, "CREngine");
+  this->registerObject(this, CREngine::_objectList);
    this->setName("CREngine");
 
Index: branches/new_class_id/src/lib/collision_reaction/cr_engine.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_engine.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_engine.h	(revision 9688)
@@ -25,4 +25,5 @@
 class CREngine : public BaseObject
 {
+  NewObjectListDeclaration(CREngine);
 
   public:
Index: branches/new_class_id/src/lib/collision_reaction/cr_object_damage.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_object_damage.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_object_damage.cc	(revision 9688)
@@ -28,5 +28,5 @@
 
 
-
+NewObjectListDefinition(CRObjectDamage);
 /**
  *  standard constructor
@@ -35,6 +35,5 @@
   : CollisionReaction()
 {
-  this->setClassID(CL_CR_OBJECT_DAMAGE, "CRObjectDamage");
-
+  this->registerObject(this, CRObjectDamage::_objectList);
 }
 
Index: branches/new_class_id/src/lib/collision_reaction/cr_object_damage.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_object_damage.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_object_damage.h	(revision 9688)
@@ -15,4 +15,5 @@
 class CRObjectDamage : public CollisionReaction
 {
+  NewObjectListDeclaration(CRObjectDamage);
   public:
     CRObjectDamage();
Index: branches/new_class_id/src/lib/collision_reaction/cr_physics_full_walk.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_physics_full_walk.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_physics_full_walk.cc	(revision 9688)
@@ -35,5 +35,5 @@
 
 
-
+NewObjectListDefinition(CRPhysicsFullWalk);
 /**
  *  standard constructor
@@ -42,5 +42,5 @@
     : CollisionReaction()
 {
-  this->setClassID(CL_CR_PHYSICS_FULL_WALK, "CRPhysicsFullWalk");
+  this->registerObject(this, CRPhysicsFullWalk::_objectList);
 }
 
Index: branches/new_class_id/src/lib/collision_reaction/cr_physics_full_walk.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_physics_full_walk.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_physics_full_walk.h	(revision 9688)
@@ -15,4 +15,5 @@
 class CRPhysicsFullWalk : public CollisionReaction
 {
+  NewObjectListDeclaration(CRPhysicsFullWalk);
   public:
     CRPhysicsFullWalk();
Index: branches/new_class_id/src/lib/collision_reaction/cr_physics_ground_walk.cc
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 9688)
@@ -35,5 +35,5 @@
 
 
-
+NewObjectListDefinition(CRPhysicsGroundWalk);
 /**
  *  standard constructor
@@ -42,5 +42,5 @@
     : CollisionReaction()
 {
-  this->setClassID(CL_CR_PHYSICS_GROUND_WALK, "CRPhysicsGroundWalk");
+  this->registerObject(this, CRPhysicsGroundWalk::_objectList);
 }
 
Index: branches/new_class_id/src/lib/collision_reaction/cr_physics_ground_walk.h
===================================================================
--- branches/new_class_id/src/lib/collision_reaction/cr_physics_ground_walk.h	(revision 9687)
+++ branches/new_class_id/src/lib/collision_reaction/cr_physics_ground_walk.h	(revision 9688)
@@ -15,4 +15,5 @@
 class CRPhysicsGroundWalk : public CollisionReaction
 {
+  NewObjectListDeclaration(CRPhysicsGroundWalk);
   public:
     CRPhysicsGroundWalk();
