diff --git a/doc/lfun/NotifyInsert b/doc/lfun/NotifyInsert
index aa2c6ec..fa2f2ac 100644
--- a/doc/lfun/NotifyInsert
+++ b/doc/lfun/NotifyInsert
@@ -1,28 +1,47 @@
+
 NotifyInsert()
+**************
 
-FUNKTION:
-     void NotifyInsert(object ob, object oldenv);
 
-ARGUMENTE:
-     ob
-          Das Objekt, das in den Behaelter eingefuegt wurde.
-     oldenv
-          Das Objekt, aus dem <ob> kam.
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Diese Funktion wird im Behaelter aufgerufen, nachdem ein Objekt in
-     besagten Behaelter hinein bewegt wurde. 
+   void NotifyInsert(object ob, object oldenv);
 
-RUeCKGABEWERT:
-     keiner
 
-BEMERKUNGEN:
-     Diese Funktion wird nur im Falle unbelebter Objekte gerufen. Fuer 
-     Lebewesen s. bitte. init().
+ARGUMENTE
+=========
 
-SIEHE AUCH:
-    NotifyLeave(), PreventInsert(), PreventLeave(), move(), NotifyRemove()
-    exit(), init(), NotifyMove(), PreventMove()
+   ob
+        Das Objekt, das in den Behaelter eingefuegt wurde.
+   oldenv
+        Das Objekt, aus dem <ob> kam.
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Diese Funktion wird im Behaelter aufgerufen, nachdem ein Objekt in
+   besagten Behaelter hinein bewegt wurde.
+
+
+RUeCKGABEWERT
+=============
+
+   keiner
+
+
+BEMERKUNGEN
+===========
+
+   Diese Funktion wird nur im Falle unbelebter Objekte gerufen. Fuer
+   Lebewesen s. bitte. init().
+
+
+SIEHE AUCH
+==========
+
+   NotifyLeave(), PreventInsert(), PreventLeave(), move(), NotifyRemove()
+   exit(), init(), NotifyMove(), PreventMove()
+
 Last modified: 21.05.2012, Zesstra
