diff --git a/doc/sphinx/lfun/AddPursuer.rst b/doc/sphinx/lfun/AddPursuer.rst
index e54f1a9..91e86d1 100644
--- a/doc/sphinx/lfun/AddPursuer.rst
+++ b/doc/sphinx/lfun/AddPursuer.rst
@@ -19,8 +19,8 @@
 ::
 
   Durch den Aufruf von AddPursuer in einem Objekt, welches living() ist,
-  wird das Object, welches als Argument uebergeben wurde in die Liste
-  der Verfolger eingetragen. Alle Objekte, die in der Verfolgerliste stehen
+  wird das Object, welches als Argument uebergeben wurde, in die Liste
+  der Verfolger eingetragen. Alle Objekte, die in der Verfolgerliste stehen,
   werden bei Bewegungen des Verfolgten in dasselbe Environment bewegt.
 
 RUECKGABEWERT
@@ -46,7 +46,7 @@
 
 SIEHE AUCH
 ----------
-::
 
-  "RemovePursuer", "PreventFollow"
+  - Lfuns:       :doc:`RemovePursuer`, :doc:`PreventFollow`
+  - Properties:  P_PURSUERS
 
diff --git a/doc/sphinx/lfun/GetDetail.rst b/doc/sphinx/lfun/GetDetail.rst
index 2f75779..6d4e5ed 100644
--- a/doc/sphinx/lfun/GetDetail.rst
+++ b/doc/sphinx/lfun/GetDetail.rst
@@ -47,20 +47,30 @@
     Die Beschreibung des Details oder 0, wenn es dieses Detail nicht
     gibt.
 
+HINWEIS
+-------
+::
+
+    Fuer SENSE_VIEW und SENSE_READ wird die Funktion gar nicht erst 
+    aufgerufen, wenn der Spieler nichts sehen kann. Das gleiche gilt fuer
+    SENSE_SOUND, wenn der Spieler taub ist.
+
 BEISPIEL
 --------
 ::
 
     Im folgenden wird ein kleines Testdetail generiert:
       AddDetail("test","Das ist ein Test!\n");
+
     Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist
     eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber
     eventuell sind ja noch weitere Aktionen noetig.
-      if(GetDetail("test"))
-      { RemoveDetail("test");
+      if(GetDetail("test")) { 
+        RemoveDetail("test");
         ...
       }
-    Ein Geruch kann man folgendermassen erzeugen:
+
+    Einen Geruch kann man folgendermassen erzeugen:
       AddSmells("gold",
         ([0      :"Gold kann man nicht riechen!\n",
           "zwerg":"Deine trainierte Nase riecht es muehelos!\n"]));
diff --git a/doc/sphinx/lfun/QueryMoney.rst b/doc/sphinx/lfun/QueryMoney.rst
index d38eed5..97dd399 100644
--- a/doc/sphinx/lfun/QueryMoney.rst
+++ b/doc/sphinx/lfun/QueryMoney.rst
@@ -12,38 +12,54 @@
 ::
 
      /std/player/moneyhandler.c
+     /std/container/moneyhandler.c
 
 BESCHREIBUNG
 ------------
 ::
 
-     Testet, ob ein Spieler, Objekt, Raum oder Npc ueber eine definierte 
-     Geldmenge verfuegt, oder nicht.
+     Gibt den Geldbetrag zurueck, den ein Spieler, Gegenstand, Raum oder NPC
+     besitzt.
 
 RUECKGABEWERT
 -------------
 ::
 
-     Geldmenge im Besitz des abgefragten Spielers
+     Geldmenge im Besitz des abgefragten Spielers (Integer).
+
+HINWEIS
+-------
+:: 
+
+     Bei Spielern (bzw. allgemein Objekten, die /std/player/moneyhandler
+     erben) beruecksichtigt die Funktion auch das Guthaben auf der
+     Seherkarte.
+
+     Nicht-Spieler-Objekte sollten /std/container/moneyhandler erben.
+
+     Zur Ermittlung des Geldobjekts, des Geldboersenobjekts oder des 
+     Seherkartenobjekts z.B. mittels present() oder present_clone() stehen in
+     <money.h> einige Defines zur Verfuegung, die hierfuer bevorzugt zu
+     benutzen sind.
 
 BEISPIELE
 ---------
 ::
 
-     int i;
-     i=50+random(10);
-     if(!this_player()->QueryMoney())
+     int i = 50+random(10);
+     int money = this_player()->QueryMoney();
+     if(!money)
        write("Du besitzt keine Muenzen!\n");
-     if(this_player()->QueryMoney() < i)
+     else if(money < i)
        write("Du besitzt nicht die erforderlichen "+i+" Muenzen.\n");
 
 SIEHE AUCH
 ----------
-::
 
-     Geldhandling:	AddMoney(L)
-     Zentralbank:	PayIn(L), WithDraw(L), _query_current_money(L)
-     Sonstiges:		/items/money.c
+   Geldhandling: :doc:`AddMoney`
 
-Last modified: Die,  1. Aug 2000, 16:39:06 by Tilly
+   Zentralbank:  :doc:`PayIn`, :doc:`WithDraw`, :doc:`_query_current_money`
 
+   Sonstiges:    /items/money.c
+
+Last modified: 2021-02-28, Arathorn
diff --git a/doc/sphinx/lfun/RemovePursuer.rst b/doc/sphinx/lfun/RemovePursuer.rst
index 0eca43a..1b66a25 100644
--- a/doc/sphinx/lfun/RemovePursuer.rst
+++ b/doc/sphinx/lfun/RemovePursuer.rst
@@ -1,10 +1,6 @@
 RemovePursuer()
 ===============
 
-RemoveRursuer()
----------------
-::
-
 FUNKTION
 --------
 ::
@@ -23,7 +19,7 @@
 ::
 
   Durch den Aufruf von RemovePursuer in einem Objekt, welches living() ist,
-  wird das Object, welches als Argument uebergeben wurde aus der Liste
+  wird das Object, welches als Argument uebergeben wurde, aus der Liste
   der Verfolger ausgetragen.
 
 RUECKGABEWERT
@@ -47,7 +43,7 @@
 
 SIEHE AUCH
 ----------
-::
 
-  "AddPursuer", "PreventFollow"
+  - Lfuns:  :doc:`AddPursuer`, :doc:`PreventFollow`
+  - Properties: P_PURSUERS
 
diff --git a/doc/sphinx/props/P_NEVERDROP.rst b/doc/sphinx/props/P_NEVERDROP.rst
index 3c4b161..157334d 100644
--- a/doc/sphinx/props/P_NEVERDROP.rst
+++ b/doc/sphinx/props/P_NEVERDROP.rst
@@ -17,9 +17,11 @@
 ------------
 ::
 
-	Objekte, welche diese Property gesetzt haben, werden beim Tod eines
-	Lebewesens nicht automatisch in die Leiche oder in den umgebenden
-	Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
+  Objekte, welche diese Property gesetzt haben, werden beim Tod eines
+  Lebewesens nicht automatisch in die Leiche oder in den umgebenden
+  Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
+  
+  Die Property darf nur die Werte 0 oder 1 enthalten.
 
 BEMERKUNGEN
 -----------
diff --git a/doc/sphinx/props/P_PURSUERS.rst b/doc/sphinx/props/P_PURSUERS.rst
index fb9d5e5..64b5f4e 100644
--- a/doc/sphinx/props/P_PURSUERS.rst
+++ b/doc/sphinx/props/P_PURSUERS.rst
@@ -1,11 +1,10 @@
-P_PURSUERS
+_PURSUERS
 ==========
 
 NAME
 ----
 
-  P_PURSUERS:
-    "pursuers"                    
+  P_PURSUERS:         "pursuers"                    
 
 DEFINIERT IN
 ------------
@@ -15,20 +14,36 @@
 
 BESCHREIBUNG
 ------------
+:: 
+  
+   Enthaelt ein zweielementiges Array mit folgendem Aufbau:
 
-  Enthaelt ein zweielementiges Array mit folgendem Aufbau:
-  0: Objekt welches verfolg wird oder 0.
-  1: Array der Objekte welche verfolgen.
+   0: Objekt, welches verfolgt wird, oder 0.
+   1: Array der Objekte, welche verfolgen.
+
+   Die Property ist im Verfolger ebenso wie im Verfolgten gesetzt.
+
 
 BEMERKUNG
 ---------
+:: 
 
-  Kann auch 0 sein, also auf pointerp() pruefen.
-  
-  NICHT von Hand, sondern nur mit den dafuer gedachten Funktionen 
-  modifizieren.
+   Kann auch 0 sein, also auf pointerp() pruefen.
+   
+   NICHT von Hand, sondern nur mit den dafuer gedachten Funktionen 
+   modifizieren.
+
+   Bei der typischen Konstellation, dass ein einzelner NPC einen
+   Spieler verfolgt, sehen die Properties so aus:
+
+   - Im Spieler  ({ 0, ({npc_objekt}) }) 
+   - Im NPC      ({ spieler_objekt , ({}) })
+
+   Nur bei einer Kette von Verfolgern, d.h. wenn ein Verfolger selbst
+   ebenfalls verfolgt wird, sind beide Elemente des Arrays befuellt.
+
 
 SIEHE AUCH
 ----------
 
-  - :doc:`../lfun/AddPursuer`, :doc:`../lfun/RemovePursuer`
+  Lfuns:  :doc:`../lfun/AddPursuer`, :doc:`../lfun/RemovePursuer`, :doc:`../lfun/PreventFollow`
