diff --git a/src/main/lktadm.c b/src/main/lktadm.c
index 68a26e4290176aed8b43e5109e7917545811f17b..f43d40c28a220f563898e39caa91ef846e29a500 100644
--- a/src/main/lktadm.c
+++ b/src/main/lktadm.c
@@ -66,16 +66,23 @@ open_db(void)
 noreturn void
 help(void)
 {
-    printf("Usage for lktadm:\n\n"
-           "  --init:    init metadata for all the database according to the root of\n"
-           "             the root of the base\n\n"
-           "  --file <file.mkv, ...>:         set automatically metadata for the file file.mkv\n\n"
-           "  --prompt-file <file.mkv, ...>:  prompt metadata to put for the file file.mkv\n\n"
-           "  --populate-all:                 populate the database with whate is found in the fs\n\n"
-           "  --cat <file.mkv, ...>:          print the metadata of files\n\n"
-           "  --get-id <id>:                  print metadata from kurisu with an id\n\n"
-           "  --down-id <id> <path>:          download a kara from kurisu to a path\n\n"
-           "  --default-conf:                 output to stdout the default configuration file\n\n");
+    static const char *help__ =
+        "USAGE lktadm <COMMAND> [ARGS [...]]:\n"
+        "\n"
+        "COMMANDS:\n"
+        "    init                   the init sub command\n"
+        "    get <id>               get the metadata of a kara from kurisu\n"
+        "    download <id> <path>   download\n"
+        "    cat <path>             display the metadata of a mkv file\n"
+        "    conf                   prints the default config file to stdout\n"
+        "\n"
+        "INIT COMMANDS:\n"
+        "    database               write the default empty database\n"
+        "    popualte               populate the database from the filesystem\n"
+        "    metadata               write metadata to mkv files on the disk using theirs path\n"
+        "    file <path>            init the metadata for a single file by its path\n"
+        "\n";
+    write(1, help__, strlen(help__));
     exit(EXIT_SUCCESS);
 }