Index: branches/main/admin/interface/version.php
===================================================================
--- branches/main/admin/interface/version.php	(revision 16)
+++ branches/main/admin/interface/version.php	(revision 17)
@@ -48,6 +48,6 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) { define('VERSION', '2.10.1-dev'); }
-if(!defined('REVISION')) { define('REVISION', '16'); }
+if(!defined('REVISION')) { define('REVISION', '17'); }
 if(!defined('SP')) { define('SP', ''); }
 
Index: branches/main/framework/CoreAutoloader.php
===================================================================
--- branches/main/framework/CoreAutoloader.php	(revision 16)
+++ branches/main/framework/CoreAutoloader.php	(revision 17)
@@ -48,15 +48,31 @@
     private static $aReplacements = [];
 
     private static $aTransNs = [
-        // packet translations
         'vendor/jscalendar' => 'include/jscalendar',
+        'vendor'            => 'include',
         'bin/interfaces'    => 'framework',
-        // global translations
+        'bin/db'            => 'framework/db',
         'bin'               => 'framework',
         'addon'             => 'modules',
         'acp'               => 'admin',
-        'vendor'            => 'include',
     ];
+/**
+ * add new Namespace->Directory relation or overwrite existing
+ * @param string $sNamespace
+ * @param string $sDirectory
+ */
+    public static function addNamespace($sNamespace, $sDirectory)
+    {
+        $sNamespace = \trim(\str_replace('\\', '/', $sNamespace), '/');
+        $sDirectory = \trim(\str_replace('\\', '/', $sDirectory), '/');
+        self::$aTransNs[$sNamespace] = $sDirectory;
+        \krsort(self::$aTransNs);
+        self::$aPatterns = self::$aReplacements = [];
+        foreach (self::$aTransNs as $sPattern => $sReplacement) {
+            self::$aPatterns[]     = '@^('.$sPattern.'/)@su';
+            self::$aReplacements[] = $sReplacement.'/';
+        }
+    }
 
     public static function autoLoad($sClassName)
     {
@@ -98,6 +114,7 @@
                 self::$aTransNs[$sKey] = $sValue;
             }
         }
+        \krsort(self::$aTransNs);
         self::$sInstallPath = \rtrim(\str_replace('\\', '/', \dirname(__DIR__)), '/').'/';
         foreach (self::$aTransNs as $sPattern => $sReplacement) {
             self::$aPatterns[]     = '@^('.$sPattern.'/)@su';
