diff --git a/doc/efun/write b/doc/efun/write
index 276e35d..7e3af94 100644
--- a/doc/efun/write
+++ b/doc/efun/write
@@ -1,32 +1,36 @@
-VERALTET
 SYNOPSIS
         void write(mixed msg)
 
-BESCHREIBUNG
-        Gibt etwas an den aktuellen Benutzer aus. Was genau ausgegeben wird,
-        haengt vom Typ der Meldung <msg> ab.
+DESCRIPTION
+        Write out something to the current user. What exactly will
+        be printed in the end depends of the type of msg.
 
-        Folgende Ausgaben erfolgen abhaengig vom Typ von <msg>:
-            String oder Zahl    <msg> wird ausgegeben
-            Objekt              "OBJ("+object_name((object)msg)+")"
-            Array               "<ARRAY>"
-            Mapping             "<MAPPING>"
-            Closure             "<CLOSURE>"
+        If it is a string or a number then just prints it out.
 
-        Wenn write() von einem Kommando eines Lebewesens aufgerufen wird,
-        dieses Lebewesen aber nicht interaktiv ist, und <msg> einen String
-        enthaelt, wird im Lebewesen die Lfun catch_tell() mit <msg> als
-        Argument aufgerufen.
+        If it is an object then the object will be printed in the
+        form: "OBJ("+object_name((object)mix)+")"
 
-BEISPIELE
+        If it is an array just "<ARRAY>" will be printed.
+        If it is a mapping just "<MAPPING>" will be printed.
+        If it is a closure just "<CLOSURE>" will be printed.
+
+        If the write() function is invoked by a command of an living
+        but not interactive object and the given argument is a string
+        then the lfun catch_tell() of the living will be invoked with
+        the message as argument.
+
+EXAMPLES
         write("Hello world!\n");
-        Dies gibt den String an den Benutzer aus.
+
+        Just print out a string.
 
         write(this_player());
-        Dies erzeugt etwas wie: "OBJ(/std/player#1234)".
 
-        write( ({"blubb"}) );
-        Dies erzeugt "<ARRAY>".
+        This will print out something like "OBJ(std/player#1234)".
 
-SIEHE AUCH
+        write( ({ "blub" }) );
+
+        Will print out "<ARRAY>".
+
+SEE ALSO
         say(E), tell_object(E), tell_room(E), catch_tell(A)
