diff --git a/advanced.md b/advanced.md
new file mode 100644
index 0000000000000000000000000000000000000000..fe0a6a367390db931bc83c5e9b24c35bcdf72e01
--- /dev/null
+++ b/advanced.md
@@ -0,0 +1,31 @@
+# git advanced -- how to maintain a comprehensible history
+
+- when projects get bigger
+- show bad example with merge commits
+- show git-flow being harmful
+- show git-pretty
+
+Advanced git is not about edge use cases, it's all about keeping your history
+comprehensible, i.e. understandable.
+
+## trunk based development
+
+- project history, e.g. via `gitk` or `git lol`, should resemble a **tree**
+- for this section we're sticking to the tree metaphor
+- long-lived branches basically **master** (and **releases**)
+- long trunk of tree
+- dead branches on lower trunk (old, unmaintained releases), which may also be
+  cut down in time if support is dropped
+- only clean merges (could have been ff)
+
+## final chapter
+
+- consider like backup slides
+- show goodies
+
+## resources
+
+- https://barro.github.io/2016/02/a-succesful-git-branching-model-considered-harmful/
+- https://stackoverflow.com/questions/14023648/why-does-my-git-history-look-like-a-christmas-tree
+- https://i.stack.imgur.com/ZsXT6.png
+- https://trunkbaseddevelopment.com
diff --git a/img/git-merge-is-bad.png b/img/git-merge-is-bad.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d39aa9473218ada04c0158a2d94ee2e122e1a11
Binary files /dev/null and b/img/git-merge-is-bad.png differ