diff --git a/doc/efun/random b/doc/efun/random
index a98542b..d3f876f 100644
--- a/doc/efun/random
+++ b/doc/efun/random
@@ -1,42 +1,16 @@
-FUNKTION:
+SYNOPSIS
         int random(int n)
 
-ARGUMENTE:
-        n: Zahlen-Bereich aus dem gewaehlt werden soll.
+BESCHREIBUNG
+        Liefert eine Zufallszahl im Bereich [0 .. n-1].
 
-BESCHREIBUNG:
-        Gibt eine zufaellige Zahl im Bereich von 0..(n-1) zurueck.
+        Dieser Zufallszahlgenerator liefert eine gleichmaessige Verteilung von
+        Zahlen ueber einen grossen Bereich, ohne Wiederholung von Sequenzen
+        waehrend einer langen Zeit. Der Nachteil dieser (wuenschenswerten)
+        Qualitaeten ist, dass wenn viele Zahlen in einem kleinen Bereich in
+        kurzer Zeit generiert werden, einige Zahlen sehr viel haeufiger
+        auftreten als andere.
 
-BEMERKUNGEN:
-        Der Nachteil der Zufaelligkeit (ueber grosse Zahlen) ist, dass wenn
-        viele Zahlen in einem kleinen Bereich in kurzer Zeit generiert
-        werden, einige Zahlen sehr viel haeufiger auftreten als andere.
-
-        Es sei nochmal darauf hingewiesen, dass der Bereich immer bei 0 
-        und NICHT bei 1 anfaengt. Ein random(10) geht also nicht von 
-        1..10 sondern von 0..9!
-
-BEISPIELE:
-        // Einfache Abfrage z.B. aus der HitFunc einer Waffe:
-
-        if(random(101) >= 70) return random(11);
-        else                  return 0;
-
-        // Spieler soll in einen zufaellig ausgewaehlten Raum gemovt
-        // werden: 
-
-        string *dest = ({ "raum1","raum2","raum3","raum4","raum5" });
-        this_player()->move(dest[random(sizeof(dest))],M_GO|M_NOCHECK);
-
-        // Es soll eine zufaellige Meldung ausgegeben werden:
-
-        tell_object(this_player(),
-         ({ "Es knackt.\n", "Dir ist kalt.\n", "Du schwitzt.\n",
-            "Du bekommst Angst.\n", "Hinter Dir knackt es im Gebuesch.\n",
-            "Ein kuehler Wind kommt auf.\n" })[random(6)]);
-
-        Wie man sieht, gibt es fuer random() viele schoene Einsatz-
-        moeglichkeiten. Wobei letzteres Beispiel ueber AddRoomMessage
-        (fuer Raeume) viel einfacher umzusetzen ist.
-
-7.Aug 2007 Gloinson
+        Die einzige Loesung hierzu ist eine spezielle simul_efun, die geeignete
+        Schritte unternimmt, um eine gleichmaessige Verteilung ueber kleine
+        Bereiche in kurzen Zeitraeumen zu erreichen.
