Index: branches/shared_lib/src/lib/BuildLibs.am
===================================================================
--- branches/shared_lib/src/lib/BuildLibs.am	(revision 7263)
+++ branches/shared_lib/src/lib/BuildLibs.am	(revision 7264)
@@ -4,7 +4,6 @@
                 $(LIB_PREFIX)/gui/gtk_gui/libORXgui.a \
                 $(LIB_PREFIX)/gui/gl_gui/libORXglgui.a \
-                $(LIB_PREFIX)/graphics/importer/libORXimporter.a \
+                $(LIB_PREFIX)/graphics/importer/libORXimporter.la \
                 $(LIB_PREFIX)/graphics/libORXgraphics.a \
-                $(LIB_PREFIX)/graphics/importer/libtc.a \
                 $(LIB_PREFIX)/sound/libORXsound.a \
                 $(LIB_PREFIX)/event/libORXevent.a \
Index: branches/shared_lib/src/lib/graphics/Makefile.am
===================================================================
--- branches/shared_lib/src/lib/graphics/Makefile.am	(revision 7263)
+++ branches/shared_lib/src/lib/graphics/Makefile.am	(revision 7264)
@@ -4,37 +4,39 @@
 noinst_LIBRARIES = libORXgraphics.a
 
-libORXgraphics_a_SOURCES = graphics_engine.cc \
-			   light.cc \
-			   shader.cc \
-			   \
-			   render2D/render_2d.cc \
-			   render2D/element_2d.cc \
-			   render2D/billboard.cc \
-			   \
-			   text_engine/text_engine.cc \
-			   text_engine/text.cc \
-			   text_engine/font.cc \
-			   \
-			   effects/graphics_effect.cc \
-			   effects/fog_effect.cc \
-			   effects/lense_flare.cc
+libORXgraphics_a_SOURCES = \
+		graphics_engine.cc \
+		light.cc \
+		shader.cc \
+		\
+		render2D/render_2d.cc \
+		render2D/element_2d.cc \
+		render2D/billboard.cc \
+		\
+		text_engine/text_engine.cc \
+		text_engine/text.cc \
+		text_engine/font.cc \
+		\
+		effects/graphics_effect.cc \
+		effects/fog_effect.cc \
+		effects/lense_flare.cc
 
 
-noinst_HEADERS = graphics_engine.h \
-		 light.h \
-		 shader.h \
-		 \
-		 render2D/render_2d.h \
-		 render2D/element_2d.h \
-		 render2D/billboard.h \
-		 \
-		 text_engine/text_engine.h \
-		 text_engine/text.h \
-		 text_engine/font.h \
-		 text_engine/default_font.xpm \
-		 \
-		 effects/graphics_effect.h \
-		 effects/fog_effect.h \
-		 effects/lense_flare.h
+noinst_HEADERS = \
+		graphics_engine.h \
+		light.h \
+		shader.h \
+		\
+		render2D/render_2d.h \
+		render2D/element_2d.h \
+		render2D/billboard.h \
+		\
+		text_engine/text_engine.h \
+		text_engine/text.h \
+		text_engine/font.h \
+		text_engine/default_font.xpm \
+		\
+		effects/graphics_effect.h \
+		effects/fog_effect.h \
+		effects/lense_flare.h
 
 
Index: branches/shared_lib/src/lib/graphics/importer/Makefile.am
===================================================================
--- branches/shared_lib/src/lib/graphics/importer/Makefile.am	(revision 7263)
+++ branches/shared_lib/src/lib/graphics/importer/Makefile.am	(revision 7264)
@@ -2,37 +2,37 @@
 include $(MAINSRCDIR)/defs/include_paths.am
 
-noinst_LIBRARIES = libORXimporter.a libtc.a
+pkglib_LTLIBRARIES = libORXimporter.la
 
-libORXimporter_a_SOURCES = model.cc \
-                           vertex_array_model.cc \
-                           grid.cc \
-                           static_model.cc \
-                           objModel.cc \
-                           primitive_model.cc \
-                           md2Model.cc \
-                           material.cc \
-                           texture.cc \
-                           texture_sequence.cc \
-                           height_map.cc \
-                           media_container.cc \
-                           movie_player.cc
+libORXimporter_la_SOURCES = \
+		model.cc \
+		tc.cc \
+		vertex_array_model.cc \
+		grid.cc \
+		static_model.cc \
+		objModel.cc \
+		primitive_model.cc \
+		md2Model.cc \
+		material.cc \
+		texture.cc \
+		texture_sequence.cc \
+		height_map.cc \
+		media_container.cc \
+		movie_player.cc
 
-libtc_a_SOURCES  = tc.cc
-
-
-noinst_HEADERS = model.h \
-		 tc.h \
-                 vertex_array_model.h \
-                 grid.h \
-                 static_model.h \
-                 objModel.h \
-                 primitive_model.h \
-                 md2Model.h \
-                 material.h \
-                 texture.h \
-                 texture_sequence.h \
-                 height_map.h \
-                 anorms.h \
-                 anormtab.h \
-                 media_container.h \
-                 movie_player.h
+noinst_HEADERS = \
+		model.h \
+		tc.h \
+		vertex_array_model.h \
+		grid.h \
+		static_model.h \
+		objModel.h \
+		primitive_model.h \
+		md2Model.h \
+		material.h \
+		texture.h \
+		texture_sequence.h \
+		height_map.h \
+		anorms.h \
+		anormtab.h \
+		media_container.h \
+		movie_player.h
Index: branches/shared_lib/src/lib/util/loading/dynamic_loader.cc
===================================================================
--- branches/shared_lib/src/lib/util/loading/dynamic_loader.cc	(revision 7263)
+++ branches/shared_lib/src/lib/util/loading/dynamic_loader.cc	(revision 7264)
@@ -17,11 +17,7 @@
 
 #include "dynamic_loader.h"
-
-
-#include <dlfcn.h>
-
+#include "resource_manager.h"
 
 using namespace std;
-
 
 /**
@@ -30,5 +26,4 @@
 */
 DynamicLoader::DynamicLoader (const std::string& libName)
-    : Factory(NULL, CL_NULL)
 {
   this->setClassID(CL_DYNAMIC_LOADER, "DynamicLoader");
@@ -40,4 +35,18 @@
 }
 
+/**
+ * @brief initializes the Dynamic Library loader
+ * @returns true on succes, false otherwise
+ */
+bool DynamicLoader::initialize()
+{
+  if (lt_dlinit () != 0)
+  {
+    PRINTF(1)("Initializing LT_DL_LIB: %s\n", lt_dlerror());
+    return false;
+  }
+  else
+    return true;
+}
 
 /**
@@ -48,5 +57,5 @@
   // delete what has to be deleted here
   if (this->handle != NULL)
-    dlclose(this->handle);
+    lt_dlclose(this->handle);
 }
 
@@ -54,27 +63,61 @@
 bool DynamicLoader::loadDynamicLib(const std::string& libName)
 {
-  this->handle = dlopen(&libName[0], RTLD_NOW);
+  DynamicLoader::initialize();
+
+  this->handle = lt_dlopen(&libName[0]);
   if(this->handle == NULL)
   {
     return false;
   }
-  void *mkr = dlsym( this->handle, "maker");
 }
 
 bool DynamicLoader::loadDyLib(const std::string& libName)
 {
+  DynamicLoader::initialize();
+
   void* handle;
-  handle = dlopen(&libName[0], RTLD_NOW);
+  handle = lt_dlopen(libName.c_str());
   if(handle == NULL)
   {
-    PRINTF(0)("unable to load %s\n", &libName[0]);
+    PRINTF(1)("unable to load %s: %s\n", libName.c_str(), lt_dlerror());
+
     return false;
   }
-//  void *mkr = dlsym("maker");
+
+}
+
+void DynamicLoader::addSearchDir(const std::string& searchDir)
+{
+  DynamicLoader::initialize();
+
+  lt_dladdsearchdir(searchDir.c_str());
+}
+
+/**
+ * @param relSearchDir: the Relative directory to add to searchPath of lt_dl
+ * @returns true if the Path was Valid, false otherwise
+ */
+bool DynamicLoader::addSearchDirRelative(const std::string& relSearchDir)
+{
+  std::string absSearchDir = ResourceManager::getAbsDir(relSearchDir);
+  if (ResourceManager::isDir(absSearchDir))
+  {
+    DynamicLoader::addSearchDir(absSearchDir);
+    return true;
+  }
+  else
+  {
+    return false;
+  }
+}
+
+bool DynamicLoader::addSearchDirInLibDir(const std::string& relSearchDir)
+{
 
 }
 
 
-BaseObject* DynamicLoader::fabricateObject(const TiXmlElement* root) const
+const char* DynamicLoader::getSearchDir()
 {
+  return lt_dlgetsearchpath();
 }
Index: branches/shared_lib/src/lib/util/loading/dynamic_loader.h
===================================================================
--- branches/shared_lib/src/lib/util/loading/dynamic_loader.h	(revision 7263)
+++ branches/shared_lib/src/lib/util/loading/dynamic_loader.h	(revision 7264)
@@ -8,14 +8,12 @@
 
 #include "util/loading/factory.h"
+#include <ltdl.h>
 
 #include <string>
-
-#define DYNAMIC_LINKAGE_FACTORY(CLASS_NAME, CLASS_ID) \
-          void* DynamicCreator(const TiXmlElement* root) { return new CLASS_NAME(root); };
 
 // FORWARD DECLARATION
 
 //! A class for ...
-class DynamicLoader : public Factory
+class DynamicLoader : public BaseObject
 {
 
@@ -25,11 +23,19 @@
 
   bool loadDynamicLib(const std::string& libName);
-  virtual BaseObject* fabricateObject(const TiXmlElement* root = NULL) const;
 
   static bool loadDyLib(const std::string& libName);
 
+  static void addSearchDir(const std::string& searchDir);
+  static bool addSearchDirRelative(const std::string& relSearchDir);
+  static bool addSearchDirInLibDir(const std::string& relSearchDir);
+  static const char* getSearchDir();
+
+  static void unload();
+private:
+  // will be done automatically when using the this Engine.
+  static bool initialize();
 
 private:
-  void*      handle;
+  lt_dlhandle      handle;
 };
 
Index: branches/shared_lib/src/lib/util/loading/resource_manager.cc
===================================================================
--- branches/shared_lib/src/lib/util/loading/resource_manager.cc	(revision 7263)
+++ branches/shared_lib/src/lib/util/loading/resource_manager.cc	(revision 7264)
@@ -881,4 +881,6 @@
 
 
+
+
 /**
  * @param fileName the Name of the File to check
@@ -921,5 +923,4 @@
   return ResourceManager::getInstance()->_cwd;
 }
-
 
 /**
