diff --git a/dev/scripts/autoload.tcl b/dev/scripts/autoload.tcl
index 201e641..42ffa1c 100755
--- a/dev/scripts/autoload.tcl
+++ b/dev/scripts/autoload.tcl
@@ -1,129 +1,133 @@
 #!/usr/local/bin/tclsh8.5
 #
 # php-autoload-generator
-# (c) S�bastien Santoro aka Dereckson, 2010, some rights reserved.
+# (c) Sébastien Santoro aka Dereckson, 2010-2013, some rights resrved.
 # Released under BSD license
 #
 # Last version of the code can be fetch at:
 # http://bitbucket.org/dereckson/php-autoload-generator
 #
 # This code generator write a __autoload() PHP method, when you don't have a
 # consistent pattern for classes naming and don't want to register several
 # autoloader with spl_autoload_register().
 #
 # Parses your classes folder & reads each file to check if it contains classes.
 #
 
 #
 # Configuration
 #
 
 #A list of regexp, one per directory to ignore
 set config(directoriesToIgnore) {Smarty SmartLine}
 
 #The output to produce before the lines
 set config(templateBefore) "<?php
 
 /**
  * This magic method is called when a class can't be loaded
  */
 function __autoload (\$className) {
     //Classes"
 
 #The output to produce after the 
 set config(templateAfter) "
     //Loader
     if (array_key_exists(\$className, \$classes)) {
         require_once(\$classes\[\$className]);
     }
-}
-
-?>"
+}"
 
 #The line format, for %%lines%%
 set config(templateClassLine) {    $classes['%%class%%'] = '%%file%%';}
 
 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 
 #
 # Helpers methods
 #
 
 #Find .php script
 proc find_scripts {directory} {
    set dirs {}
    foreach i [lsort [glob -nocomplain -dir $directory *]] {
       if {[file type $i] == "directory" && ![is_ignored_directory $i]} {
          lappend dirs $i
       } elseif {[file extension $i] == ".php"} {
-         find_classes $i
+         find_objects $i
       }
    }
    foreach subdir $dirs {
       #Adds a white line as a separator, then the classes in this dir
-      puts " "
+      puts ""
       find_scripts $subdir
    }
    
 }
 
 #Called when we've got a winner
 proc add_class {script class} {
    global config
    set line $config(templateClassLine)
    regsub -all -- "%%class%%" $line $class line
    regsub -all -- "%%file%%" $line $script line
    puts $line
 }
 
-#Find classes in the file
+#Find objects like classes or interfaces in the file
 #Thanks to Richard Suchenwirth for its glob-r code snippet this proc is forked
-proc find_classes {file} {
+proc find_objects {file} {
    set fp [open $file]
    while {[gets $fp line] >= 0} {
       set pos1 [string first "class " $line]
+      if {$pos1 == -1} {
+         set pos1 [string first "interface " $line]
+         set len 10
+      } {
+         set len 6
+      }
       set pos2 [string first " \{" $line $pos1]
       set pos3 [string first " implements" $line $pos1]
       set pos4 [string first " extends" $line $pos1]
       if {$pos1 > -1 && $pos2 > -1} {
          if {$pos4 > -1} {
             #We test implements first, as if a class implements and extends
             #the syntax is class Plane extends Vehicle implements FlyingItem
             set pos $pos4
          } elseif {$pos3 > -1} {
             set pos $pos3
          } else {
             set pos $pos2
          }
-         set class [string range $line [expr $pos1 + 6] [expr $pos - 1]]
+         set class [string range $line [expr $pos1 + $len] [expr $pos - 1]]
          
          add_class $file $class
       }
    }
    close $fp
 }
 
 #Check if the directory is ignored
 proc is_ignored_directory {directory} {
    global config
    foreach re $config(directoriesToIgnore) {
       if [regexp $re $directory] {return 1}
    }
    return 0
 }
 
 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 
 #
 # Procedural code
 #
 
 if {$argc > 0} {
    set directory [lindex $argv 0]
 } {
    set directory .
 }
 
 puts $config(templateBefore)
-find_scripts $directory
-puts $config(templateAfter)
\ No newline at end of file
+find_scripts $directory/includes
+puts $config(templateAfter)
diff --git a/includes/autoload.php b/includes/autoload.php
index a6d3700..44d0899 100755
--- a/includes/autoload.php
+++ b/includes/autoload.php
@@ -1,81 +1,59 @@
 <?php
 
-/**
- * Autoloader
- *
- * Zed. The immensity of stars. The HyperShip. The people.
- * 
- * (c) 2010, Dereckson, some rights reserved.
- * Released under BSD license.
- *
- * This file provides an __autoload function to help loading objects files.
- *
- * This function is autogenerated by the TCL script dev/scripts/autoload.tcl
- * 
- * @package     Zed
- * @subpackage  Keruald
- * @author      Sébastien Santoro aka Dereckson <dereckson@espace-win.org>
- * @copyright   2010 Sébastien Santoro aka Dereckson
- * @license     http://www.opensource.org/licenses/bsd-license.php BSD
- * @version     0.1
- * @link        http://scherzo.dereckson.be/doc/zed
- * @link        http://zed.dereckson.be/
- * @filesource
- */
-
 /**
  * This magic method is called when a class can't be loaded
- *
- * @param string $className the class to load
  */
-function __autoload ($className) {  
+function __autoload ($className) {
     //Classes
-    $classes['Cache'] = 'includes/cache/cache.php';
-    $classes['CacheMemcached'] = 'includes/cache/memcached.php';
-    $classes['CacheVoid'] = 'includes/cache/void.php';
+    $classes['Cache'] = './includes/cache/cache.php';
+    $classes['CacheMemcached'] = './includes/cache/memcached.php';
+    $classes['CacheVoid'] = './includes/cache/void.php';
+
+    $classes['ContentFile'] = './includes/content/file.php';
+    $classes['ContentLocation'] = './includes/content/location.php';
+    $classes['ContentZone'] = './includes/content/zone.php';
+
+    $classes['GeoBody'] = './includes/geo/body.php';
+    $classes['GeoGalaxy'] = './includes/geo/galaxy.php';
+    $classes['GeoLocation'] = './includes/geo/location.php';
+    $classes['GeoOctocube'] = './includes/geo/octocube.php';
+    $classes['GeoPlace'] = './includes/geo/place.php';
+    $classes['GeoPoint3D'] = './includes/geo/point3D.php';
+    $classes['GeoPointPolarZ'] = './includes/geo/pointPolarZ.php';
+    $classes['GeoScene'] = './includes/geo/scene.php';
+    $classes['GeoSceneIndex'] = './includes/geo/sceneindex.php';
 
-    $classes['Content'] = 'includes/objects/content.php';
-    $classes['ContentFile'] = 'includes/content/file.php';
-    $classes['ContentLocation'] = 'includes/content/location.php';
-    $classes['ContentZone'] = 'includes/content/zone.php';
- 
-    $classes['GeoBody'] = 'includes/geo/body.php';
-    $classes['GeoGalaxy'] = 'includes/geo/galaxy.php';
-    $classes['GeoLocation'] = 'includes/geo/location.php';
-    $classes['GeoPlace'] = 'includes/geo/place.php';
-    $classes['GeoPoint3D'] = 'includes/geo/point3D.php';
-    $classes['GeoScene'] = 'includes/geo/scene.php';
- 
-    $classes['Application'] = 'includes/objects/application.php';
-    $classes['Invite'] = 'includes/objects/invite.php';
-    $classes['Message'] = 'includes/objects/message.php';
-    $classes['MOTD'] = 'includes/objects/motd.php';
-    $classes['Perso'] = 'includes/objects/perso.php';
-    $classes['Port'] = 'includes/objects/port.php';
-    $classes['Profile'] = 'includes/objects/profile.php';
-    $classes['ProfileComment'] = 'includes/objects/profilecomment.php';
-    $classes['ProfilePhoto'] = 'includes/objects/profilephoto.php';
-    $classes['Ship'] = 'includes/objects/ship.php';
-    $classes['User'] = 'includes/objects/user.php';
- 
-    $classes['SettingsPage'] = 'includes/settings/page.php';
-    $classes['Setting'] = 'includes/settings/setting.php';
-    $classes['Settings'] = 'includes/settings/settings.php';
- 
-    $classes['StoryChoice'] = 'includes/story/choice.php';
-    $classes['StoryHook'] = 'includes/story/hook.php';
-    $classes['DemoStoryHook'] = 'includes/story/hook_demo.php';
-    $classes['SpatioportStoryHook'] = 'includes/story/hook_spatioport.php';
-    $classes['StorySection'] = 'includes/story/section.php';
-    $classes['Story'] = 'includes/story/story.php';
- 
-    $classes['TravelPlace'] = 'includes/travel/place.php';
-    $classes['Travel'] = 'includes/travel/travel.php';
+    $classes['Application'] = './includes/objects/application.php';
+    $classes['Content'] = './includes/objects/content.php';
+    $classes['Invite'] = './includes/objects/invite.php';
+    $classes['Message'] = './includes/objects/message.php';
+    $classes['MOTD'] = './includes/objects/motd.php';
+    $classes['Perso'] = './includes/objects/perso.php';
+    $classes['Port'] = './includes/objects/port.php';
+    $classes['Profile'] = './includes/objects/profile.php';
+    $classes['ProfileComment'] = './includes/objects/profilecomment.php';
+    $classes['ProfilePhoto'] = './includes/objects/profilephoto.php';
+    $classes['Request'] = './includes/objects/request.php';
+    $classes['RequestReply'] = './includes/objects/requestreply.php';
+    $classes['Ship'] = './includes/objects/ship.php';
+    $classes['User'] = './includes/objects/user.php';
+
+    $classes['SettingsPage'] = './includes/settings/page.php';
+    $classes['Setting'] = './includes/settings/setting.php';
+    $classes['Settings'] = './includes/settings/settings.php';
+
+    $classes['StoryChoice'] = './includes/story/choice.php';
+    $classes['StoryHook'] = './includes/story/hook.php';
+    $classes['DemoStoryHook'] = './includes/story/hook_demo.php';
+    $classes['SpatioportStoryHook'] = './includes/story/hook_spatioport.php';
+    $classes['StorySection'] = './includes/story/section.php';
+    $classes['Story'] = './includes/story/story.php';
+
+    $classes['TravelPlace'] = './includes/travel/place.php';
+    $classes['Travel'] = './includes/travel/travel.php';
 
     //Loader
     if (array_key_exists($className, $classes)) {
         require_once($classes[$className]);
     }
 }
-
-?>