diff --git a/doc/sphinx/man/lfun/init b/doc/sphinx/man/lfun/init
new file mode 100644
index 0000000..481eec2
--- /dev/null
+++ b/doc/sphinx/man/lfun/init
@@ -0,0 +1,91 @@
+
+init()
+******
+
+
+FUNKTION
+========
+
+   void init();
+
+
+DEFINIERT IN
+============
+
+   /std/room/description.c
+
+
+ARGUMENTE
+=========
+
+   keine
+
+
+BESCHREIBUNG
+============
+
+   init() wird immer dann aufgerufen, wenn ein lebendes Objekt in die
+   Naehe anderer Objekte bewegt wird oder ein nicht lebendiges Objekt
+   in die Naehe von Lebewesen gelangt. init() wird dabei in allen
+   Objekten aufgerufen, bei denen es notwendig ist.
+
+   Der Hauptzweck dieser Funktion besteht darin, den Objekten
+   untereinander ihre jeweiligen Befehle zugaenglich zu machen.
+   Waehrend dies in anderen MudLibs durch eine Reihe von
+   add_action()-Aufrufen im Rumpf von init() geschah, geschieht dies in
+   der MG-MudLib bei Objekten, die /std/thing/commands.c erben
+    (das sind zB. alle Standardobjekte) quasi automatisch
+    (dort werden die Befehle dann per AddCmd() im create() angemeldet,
+     man spart sich die Implementierung von init() und dem Mud somit
+     Speicher). Der andere Weg ist aber natuerlich immer noch moeglich.
+
+
+RUeCKGABEWERT
+=============
+
+   keiner
+
+
+BEMERKUNGEN
+===========
+
+   Der Ablauf der init()-Kette ist wie folgt:
+   o Ist das Objekt X, welches ins Zielobjekt D bewegt wurde, ein
+     Lebewesen, so wird in D init() aufgerufen, wobei this_player() auf
+     X gesetzt ist.
+   o Dann wird fuer jedes Objekt C in D folgendes ausgefuehrt:
+     + Ist C ein Lebewesen, dann wird init() in X aufgerufen, wobei
+       this_player() auf C gesetzt ist.
+     + Ist X ein Lebewesen, dann wird init() in C aufgerufen, wobei
+     this_player() auf X gesetzt ist.
+   o Schliesslich wird in dem Fall, dass D lebendig ist, in X init()
+     aufgerufen, wobei this_player() auf D gesetzt ist.
+
+
+BEISPIELE
+=========
+
+   D sei ein Raum, in dem sich das Lebewesen L1 sowie die Gegenstaende
+   N1 und N2 befinden.
+   Betritt ein Spieler X diesen Raum, so werden folgende init()s
+   aufgerufen:
+
+     D->init();  // this_player() == X
+     X->init();  // this_player() == L1
+     L1->init(); // this_player() == X
+     N1->init(); // this_player() == X
+     N2->init(); // this_player() == X
+
+   Gelangt dagegen ein nichtlebendiges Objekt nach D, so sieht das Ganze
+   wie folgt aus:
+
+     X->init();    // this_player() == L1
+
+
+SIEHE AUCH
+==========
+
+         exit(), AddCmd(), add_action(),
+   NotifyInsert()
+
+Last modified: 04.08.2007, Zesstra
