diff --git a/doc/lfun/CustomizeObject b/doc/lfun/CustomizeObject
index 4b35092..2c7736a 100644
--- a/doc/lfun/CustomizeObject
+++ b/doc/lfun/CustomizeObject
@@ -1,19 +1,36 @@
-CustomizeObject()
 
-FUNKTION:
+CustomizeObject()
+*****************
+
+
+FUNKTION
+========
+
    string CustomizeObject();
 
-DEFINIERT IN:
+
+DEFINIERT IN
+============
+
    /std/virtual/v_compiler.c
 
-ARGUMENTE:
+
+ARGUMENTE
+=========
+
    keine
 
-RUeCKGABEWERT:
+
+RUeCKGABEWERT
+=============
+
    Den Objektnamen, den das zuletzt erzeugte Objekt (welches gerade die
    Funktion aufruft) spaeter vom Driver bekommen wird.
 
-BESCHREIBUNG:
+
+BESCHREIBUNG
+============
+
    Diese Funktion ist aus dem Grunde da, da zum Zeitpunkt des Clonens des
    VC-Objektes (P_STD_OBJECT) dieses Objekt ja noch nicht weiss Wer
    oder Was es spaeter mal sein wird.
@@ -24,29 +41,44 @@
    Da das VC-Objekt vom VC geclont wurde, ist previous_object() im create()
    des VC-Objektes der VC, in dem man CustomizeObject() ruft.
 
-BEMERKUNGEN:
+
+BEMERKUNGEN
+===========
+
    Das CustomizeObject() im Standard-VC gibt nur den zukuenftigen Objektnamen
    zurueck und macht sonst nix.
 
-BEISPIELE:
+
+BEISPIELE
+=========
+
    create() eines VC-Objektes:
-   
+
+
+
    protected void create() {
      ...
-     
+
+
+
      // wer bin ich denn eigentlich?
      string myname = previous_object()->CustomizeObject();
      switch(myname) {
-       // Kram konfigurier, ja nach myname... 
+       // Kram konfigurier, ja nach myname...
      }
-     
+
+
+
      ...
    }
 
-SIEHE AUCH:
-     virtual_compiler
-     CustomizeObject(), Validate(), NoParaObjects(), 
-     P_COMPILER_PATH, P_PARA
-     /std/virtual/v_compiler.c
-----------------------------------------------------------------------------
+
+SIEHE AUCH
+==========
+
+   virtual_compiler
+   CustomizeObject(), Validate(), NoParaObjects(),
+   P_COMPILER_PATH, P_PARA
+   /std/virtual/v_compiler.c
+
 21.10.2007, Zesstra
