diff --git a/README.md b/README.md
index 23e5fbd..e701175 100644
--- a/README.md
+++ b/README.md
@@ -222,13 +222,12 @@ make sure the destination directory is writable if you change it. You
can either inspect the file, or use the `watchdogctl` tool.
+
+
libwdog API
-----------
-
-
To have `watchdogd` supervise a process, it must be instrumented with at
least a "subscribe" and a "kick" API call. Commonly this is achieved by
adding the `wdog_kick()` call to the main event loop.
@@ -260,9 +259,7 @@ int wdog_kick2 (int id, unsigned int *ack);
int wdog_extend_kick (int id, unsigned int timeout, unsigned int *ack);
```
-See [wdog.h](src/wdog.h) or
-[codedocs.xyz](https://codedocs.xyz/troglobit/watchdogd/wdog_8h.html)
-for detailed API documentation.
+See [wdog.h](src/wdog.h) or 🕮 [codedocs.xyz](https://codedocs.xyz/troglobit/watchdogd/wdog_8h.html) for detailed API documentation.
It is highly recommended to use an event loop like libev, [libuev][], or
similar. For such libraries one can simply add a timer callback for the
diff --git a/doc/api.png b/doc/api.png
new file mode 100644
index 0000000..a88f5a2
Binary files /dev/null and b/doc/api.png differ