Index: /branches/new_class_id/src/lib/graphics/importer/resource_texture.cc
===================================================================
--- /branches/new_class_id/src/lib/graphics/importer/resource_texture.cc	(revision 9788)
+++ /branches/new_class_id/src/lib/graphics/importer/resource_texture.cc	(revision 9789)
@@ -8,5 +8,5 @@
     : NewResource(&ResourceTexture::type)
 {
-  NewResource::Pointer* ptr = this->acquireResource(imageName + ',' + "TEST");
+  NewResource::StorePointer* ptr = this->acquireResource(imageName + ',' + "TEST");
 
   if (ptr)
@@ -20,5 +20,5 @@
     std::string fileName = this->NewResource::locateFile(imageName);
     this->Texture::loadImage(fileName, target);
-    this->NewResource::addResource(new ResourceTexture::TextureResourcePointer(imageName + ',' + "TEST", KeepLevel(), this->Texture::dataPointer()));
+    this->NewResource::addResource(new ResourceTexture::TextureResourcePointer(imageName + ',' + "TEST", KeepLevel(0), this->Texture::dataPointer()));
   }
 }
@@ -32,5 +32,5 @@
 
 ResourceTexture::TextureResourcePointer::TextureResourcePointer(const std::string& loadString, const NewResource::KeepLevel& keepLevel, const TextureData::Pointer& data)
-    : NewResource::Pointer(loadString, keepLevel) , pointer(data)
+    : NewResource::StorePointer(loadString, keepLevel) , pointer(data)
 {}
 
Index: /branches/new_class_id/src/lib/graphics/importer/resource_texture.h
===================================================================
--- /branches/new_class_id/src/lib/graphics/importer/resource_texture.h	(revision 9788)
+++ /branches/new_class_id/src/lib/graphics/importer/resource_texture.h	(revision 9789)
@@ -19,5 +19,5 @@
 
 private:
-class TextureResourcePointer : public NewResource::Pointer
+class TextureResourcePointer : public NewResource::StorePointer
   {
   public:
Index: /branches/new_class_id/src/lib/util/loading/resource.cc
===================================================================
--- /branches/new_class_id/src/lib/util/loading/resource.cc	(revision 9788)
+++ /branches/new_class_id/src/lib/util/loading/resource.cc	(revision 9789)
@@ -42,5 +42,4 @@
     this->_type->setID(NewResource::_resourceTypes.size()-1);
   }
-
 }
 
@@ -66,5 +65,5 @@
 
 
-NewResource::Pointer* NewResource::acquireResource(const std::string& loadString)
+NewResource::StorePointer* NewResource::acquireResource(const std::string& loadString)
 {
   //const NewResource::Type* const type = NewResource::_resourceTypes[this->_type->id()];
@@ -94,5 +93,5 @@
 
 
-void NewResource::addResource(NewResource::Pointer* pointer)
+void NewResource::addResource(NewResource::StorePointer* pointer)
 {
   this->_type->addResource(pointer);
@@ -107,15 +106,15 @@
 
 
-
-void NewResource::KeepLevel::setKeepLevelName(unsigned int level, const std::string& name)
+std::vector<std::string>  NewResource::KeepLevel::_keepLevelNames;
+void NewResource::KeepLevel::defineKeepLevelName(unsigned int level, const std::string& name)
 {
-  if (_keepLevelName.size() <= level)
-    _keepLevelName.resize(level+1);
-  _keepLevelName[level] = name;
+  if (_keepLevelNames.size() <= level)
+    _keepLevelNames.resize(level+1);
+  _keepLevelNames[level] = name;
 }
 
 
 
-void NewResource::Type::addResource(NewResource::Pointer* resource)
+void NewResource::Type::addResource(NewResource::StorePointer* resource)
 {
   this->_storedResources.push_back(resource);
@@ -124,6 +123,6 @@
 
 
-NewResource::Pointer::Pointer(const std::string& loadString, const NewResource::KeepLevel& keeplevel)
-  : _loadString(loadString), _keepLevel(keeplevel)
+NewResource::StorePointer::StorePointer(const std::string& loadString, const NewResource::KeepLevel& keeplevel)
+    : _loadString(loadString), _keepLevel(keeplevel)
 {}
 
Index: /branches/new_class_id/src/lib/util/loading/resource.h
===================================================================
--- /branches/new_class_id/src/lib/util/loading/resource.h	(revision 9788)
+++ /branches/new_class_id/src/lib/util/loading/resource.h	(revision 9789)
@@ -8,5 +8,4 @@
 
 #include "base_object.h"
-#include "multi_type.h"
 #include <string>
 #include <vector>
@@ -26,19 +25,25 @@
   {
   public:
-    void setKeepLevelName(unsigned int level, const std::string& name);
+    KeepLevel(unsigned int keepLevel) { _keepLevel = keepLevel; };
+    KeepLevel(const std::string& keepLevelName);
+
+    static void defineKeepLevelName(unsigned int level, const std::string& name);
   private:
-    std::vector<std::string>     _keepLevelName;
+    unsigned int                        _keepLevel;
+  private:
+    static std::vector<std::string>     _keepLevelNames;
   };
 
+
 protected:
-  class Pointer
+  class StorePointer
   {
   public:
-    Pointer(const std::string& loadString, const NewResource::KeepLevel& keeplevel);
+    StorePointer(const std::string& loadString, const NewResource::KeepLevel& keeplevel);
     const std::string& loadString() const { return _loadString; };
     const NewResource::KeepLevel& keepLevel() const { return _keepLevel; };
 
   private:
-    std::string              _loadString;             //!< An identifier, to match when loading a File.
+    std::string                 _loadString;             //!< An identifier, to match when loading a File.
     NewResource::KeepLevel      _keepLevel;              //!< The Priority of this resource. (can only be increased, so none else will delete this)
   };
@@ -60,8 +65,8 @@
     const std::vector<std::string>& resourcePaths() const { return _resourcePaths; };
     const std::vector<std::string>& resourceSubPaths() const { return _resourceSubPaths; };
-    const std::vector<NewResource::Pointer*>& storedResources() const { return _storedResources; };
+    const std::vector<NewResource::StorePointer*>& storedResources() const { return _storedResources; };
 
     void setID(int id);
-    void addResource(NewResource::Pointer* resource);
+    void addResource(NewResource::StorePointer* resource);
 
   private:
@@ -72,5 +77,5 @@
     std::vector<std::string>        _fileExtensions;
 
-    std::vector<NewResource::Pointer*> _storedResources;
+    std::vector<NewResource::StorePointer*> _storedResources;
   };
 
@@ -92,9 +97,9 @@
 
 protected:
-  NewResource::Pointer* acquireResource(const std::string& loadString);
-  void addResource(NewResource::Pointer* pointer);
+  NewResource::StorePointer* acquireResource(const std::string& loadString);
+  void addResource(NewResource::StorePointer* pointer);
 
 private:
-  NewResource::Pointer*       _pointer;                         //!< Virtual Pointer to the ResourceData.
+  NewResource::StorePointer*       _pointer;                         //!< Virtual Pointer to the ResourceData.
   NewResource::Type*          _type;                            //!< Type of the NewResource.
 
Index: /branches/new_class_id/src/orxonox.cc
===================================================================
--- /branches/new_class_id/src/orxonox.cc	(revision 9788)
+++ /branches/new_class_id/src/orxonox.cc	(revision 9789)
@@ -327,5 +327,5 @@
 
 //#include "util/loading/dynamic_loader.h"
-
+#include "loading/resource.h"
 /**
  * initializes and loads resource files
