diff --git a/doc/hook/create_lwobject b/doc/hook/create_lwobject
new file mode 100644
index 0000000..8872e73
--- /dev/null
+++ b/doc/hook/create_lwobject
@@ -0,0 +1,31 @@
+SYNOPSIS
+        #include <sys/driver_hooks.h>
+
+        set_driver_hook(H_CREATE_LWOBJECT, value)
+
+        <value> being:
+
+          void <name>    (...)
+          void <closure> ()
+          void <closure> (lwobject obj_to_init, ...)
+
+DESCRIPTION
+        Optional hooks to initialize a lightweight object after creation.
+        Hook setting can be unbound lambda closures, or the name of the
+        function (static or public) to call in the object.
+
+        If the hook is a closure expecting arguments, it is bound to the
+        current object and called with the created object as the first
+        argument and any further arguments from the new_lwobject() call.
+        If the hook is a closure without arguments, it is bound to
+        the object to be initalized and called.
+
+        If the hook is defined as the name of an lfun in the lightweight
+        object, it is called in the new lwobject with any further arguments
+        from the new_lwobject() call.
+
+HISTORY
+        LDMud 3.6.5 introduced lightweight objects.
+
+SEE ALSO
+        hooks(C), create_ob(H), create_super(H), create_clone(H)
diff --git a/doc/hook/lwobject_uids b/doc/hook/lwobject_uids
new file mode 100644
index 0000000..610b328
--- /dev/null
+++ b/doc/hook/lwobject_uids
@@ -0,0 +1,35 @@
+SYNOPSIS
+        #include <sys/driver_hooks.h>
+
+        set_driver_hook(H_LWOBJECT_UIDS, value)
+
+        <value> being:
+
+          mixed <closure>(object blueprint)
+
+DESCRIPTION
+        Mandatory hook to determine the uid and euid of a lightweight
+        object. Hook setting can be any closure.
+
+        When a lightweight object is created, the H_LWOBJECT_UIDS hook
+        is called with the blueprint object as its argument.
+
+        For the result, the following possibilities exist (<num> is
+        a non-zero number, <no-string> is anything but a string):
+
+           "<uid>"                    -> uid = "<uid>", euid = "<uid>"
+           ({ "<uid>", "<euid>" })    -> uid = "<uid>", euid = "<euid>"
+           ({ "<uid>", <no-string> }) -> uid = "<uid>", euid = 0
+
+        If strict-euids is not active, the following results are
+        possible, too:
+
+           <num>                      -> uid = 0, euid = 0
+           ({ <num>, "<euid>" })      -> uid = 0, euid = "<euid>"
+           ({ <num>, <no-string> })   -> uid = 0, euid = 0
+
+HISTORY
+        LDMud 3.6.5 introduced lightweight objects.
+
+SEE ALSO
+        hooks(C), uids(C), load_uids(H), clone_uids(H)
