diff --git a/doc/props/P_AQUATIC_HELPERS b/doc/props/P_AQUATIC_HELPERS
index 33a07ab..8429a41 100644
--- a/doc/props/P_AQUATIC_HELPERS
+++ b/doc/props/P_AQUATIC_HELPERS
@@ -1,46 +1,64 @@
+
 P_AQUATIC_HELPERS
+*****************
 
-NAME:
-     P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
 
-DEFINIERT IN:
-     <living/helpers.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
-     zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem 
-     Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
-     Form zurueckgeliefert:
-     ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
-     Eine Erlaeuterung dazu findet sich in der Dokumentation zu 
-     RegisterHelperObject().
+   P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
 
-BEMERKUNGEN:
-     Diese Property kann nur abgefragt werden.
-     Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche 
-     Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
 
-BEISPIEL:
-     Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das 
-     beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
-     einen Wert >0 eingetragen haben und prueft deren Anzahl:
+DEFINIERT IN
+============
 
-     mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
-     object* helpers = filter( aquatic, function int (object h) {
-                         return (aquatic[h]>0); });
-     if ( sizeof(helpers) ) {
-       tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
-         "stellst ueberrascht fest, dass Du mit Hilfe "+
-         helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
-     }
-     else {
-       tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
-     }
+   <living/helpers.h>
 
-SIEHE AUCH:
-     Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
-     Properties:  P_HELPER_OBJECTS, P_AERIAL_HELPERS
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
+   zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem
+   Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
+   Form zurueckgeliefert:
+   ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
+   Eine Erlaeuterung dazu findet sich in der Dokumentation zu
+   RegisterHelperObject().
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property kann nur abgefragt werden.
+   Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
+   Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
+
+
+BEISPIEL
+========
+
+   Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
+   beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
+   einen Wert >0 eingetragen haben und prueft deren Anzahl:
+
+   mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
+   object* helpers = filter( aquatic, function int (object h) {
+                       return (aquatic[h]>0); });
+   if ( sizeof(helpers) ) {
+     tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
+       "stellst ueberrascht fest, dass Du mit Hilfe "+
+       helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
+   }
+   else {
+     tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
+   }
+
+
+SIEHE AUCH
+==========
+
+   Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
+   Properties:  P_HELPER_OBJECTS, P_AERIAL_HELPERS
+
 06.04.2016, Arathorn
-
