diff --git a/doc/efun/last_bit b/doc/efun/last_bit
index f0467c0..3936170 100644
--- a/doc/efun/last_bit
+++ b/doc/efun/last_bit
@@ -1,19 +1,21 @@
 SYNOPSIS
         int last_bit(string str)
 
-BESCHREIBUNG
-        Liefert die Nummer des letzten gesetzten Bits im Bitstring <str>.
+DESCRIPTION
+        Return the number of the last set bit in bitstring <str>.
 
-        Jedes Zeichen enthaelt 6 Bits. Also kann in jedem Zeichen ein Wert von
-        0 bis 63 gespeichert werden (2^6=64). Das erste Zeichen ist der
-        Leerschlag " " mit dem Wert 0. Das erste Zeichen im String ist jenes
-        mit den niedrigsten Bits (0-5).
+        Each character contains 6 bits. So you can store a value
+        between 0 and 63 in one character (2^6=64). Starting character
+        is the blank " " which has the value 0. The first character in
+        the string is the one with the lowest bits (0-5).
 
-BEISPIELE
+EXAMPLES
         string s;
-        s = set_bit("", 4); s = set_bit(s, 2);
-        last_bit(s) --> liefert 4
 
-SIEHE AUCH
+        s = set_bit("", 4); s = set_bit(s, 2);
+
+        last_bit(s) --> returns 4
+
+SEE ALSO
         set_bit(E), clear_bit(E), next_bit(E), test_bit(E), count_bits(E),
         and_bits(E), or_bits(E), xor_bits(E), invert_bits(E), copy_bits(E)
