diff --git a/.gitignore b/.gitignore
index c69870675fce858cf5f50ead2b4e525b04c7eabe..112acc314baf162df30f054e0b70052436bcba9a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,6 @@
+img/git-remote-contributor.svg
+img/git-remote-maintainer.svg
+img/git-remote-solo.svg
+img/license-chooser.svg
 img/motivation-throwaway-playground.svg
+img/staging-area.svg
diff --git a/basics.html b/basics.html
index 2234d73402875c35786a65958b86a47e3bc7b07b..37ffb296835c66ca1a213c42b01a0e48de864bad 100644
--- a/basics.html
+++ b/basics.html
@@ -363,6 +363,9 @@
             git config --global alias.lol \
               'log --graph --decorate --oneline --all'
             ```
+
+            notes:
+            - editor: talk about line endings
           </section>
         </section>
 
@@ -672,6 +675,12 @@
 
             notes:
             - use wip/feature as branch name, see motivation playground
+            - use git lol frequently to showcase its importance
+            - make changes in playground
+            - git push
+            - make changes in master
+            - git lol
+            - make changes in playground
           </section>
 
           <section id="merging" data-markdown>
@@ -687,13 +696,7 @@
             ```
 
             notes:
-            - make changes in playground
-            - git push
-            - make changes in master
-            - git lol
-            - make changes in playground
-            - merge
-            - git lol
+            - use git lol to show final layout
           </section>
         </section>
 
@@ -706,25 +709,54 @@
             # collaboration
 
             notes:
-            - TODO talk about line endings
+            - we: create new repo
+            - group: fork and clone, remote add upstream, lol
+            - next slide, explain img
           </section>
 
-          <section id="collab-" data-markdown>
-            ## command line
-            ### git 
+          <section id="collab-contributor" data-markdown>
+            ## view of contributor
 
-            ```bash
-            
-            ```
+            ![remotes](img/git-remote-contributor.svg)
+
+            notes:
+            - we: new commit
+            - group: fetch, lol, pull upstream master, lol
+            - group: push origin, lol
+            - group: commit, push, MR (master or wip?)
+            - collaboration happens in issues and MR discussion!
+            - we: review and possible resolve merge request in GL
+            - show next slide once merging is done on command line
           </section>
 
-          <section id="collab-" data-markdown>
-            ## command line
-            ### git 
+          <section id="collab-maintainer" data-markdown>
+            ## view of maintainer
 
-            ```bash
-            
-            ```
+            ![remotes](img/git-remote-maintainer.svg)
+
+            notes:
+            - we: review one MR, show line comments in GL, thumbs up
+          </section>
+
+          <section id="collab-review" data-markdown>
+            ## review
+
+            code of conduct:
+
+            - be friendly
+            - be responsible
+            - be open
+            - be creative
+            - be proactive
+            - have fun
+          </section>
+
+          <section id="collab-conflicts" data-markdown>
+            ## conflicts
+
+            notes:
+            - hopefully conflicting changes
+            - MR status should show that (can not be merged without conflicts)
           </section>
         </section>
 
@@ -761,22 +793,6 @@
               - contribute via merge requests
               - review commits and merge requests
           </section>
-
-          <section id="homework-behavior" data-markdown>
-            ## homework #3
-
-            be friendly
-
-            be responsible
-
-            be open
-
-            be creative
-
-            be proactive
-
-            have fun
-          </section>
         </section>
 
         <section id="eof" data-background="img/trex.png">
diff --git a/img/git-remote-contributor.dot b/img/git-remote-contributor.dot
new file mode 100644
index 0000000000000000000000000000000000000000..e4fa7557dfcceb70dc24d51d9ad94bd16e8e2fb2
--- /dev/null
+++ b/img/git-remote-contributor.dot
@@ -0,0 +1,32 @@
+digraph {
+    node [shape = "box", style = "filled, rounded"]
+
+    subgraph clusterorigin {
+        label = "origin"
+
+        node [color = orchid]
+
+        omaster[label = "master"]
+    }
+
+    subgraph clusterlocal {
+        label = "local"
+
+        node [color = orchid]
+
+        master[label = "master"]
+    }
+
+    subgraph clusterupstream {
+        label = "upstream"
+
+        node [color = limegreen]
+
+        umaster[label = "master"]
+    }
+
+    omaster -> master [label = "git pull"]
+    master -> omaster [label = "git push", constraint = false]
+    umaster -> master [label = "git pull upstream master", constraint = false]
+    omaster -> umaster [label = "pull request (GitHub)\nmerge request (GitLab)", constraint = false]
+}
diff --git a/img/git-remote-maintainer.dot b/img/git-remote-maintainer.dot
new file mode 100644
index 0000000000000000000000000000000000000000..acd181de432afa3d5886ea7a2baecd0878043b0e
--- /dev/null
+++ b/img/git-remote-maintainer.dot
@@ -0,0 +1,40 @@
+digraph {
+    node [shape = "box", style = "filled, rounded"]
+
+    subgraph clusterorigin {
+        label = "origin"
+
+        node [color = orchid]
+
+        omaster[label = "master"]
+    }
+
+    subgraph clusterlocal {
+        label = "local"
+
+        node [color = orchid]
+
+        master[label = "master"]
+    }
+
+    subgraph clusteralice {
+        label = "alice"
+
+        node [color = limegreen]
+
+        amaster[label = "master"]
+    }
+
+    subgraph clusterbob {
+        label = "bob"
+
+        node [color = lightskyblue]
+
+        bmaster[label = "master"]
+    }
+
+    omaster -> master [label = "git pull"]
+    master -> omaster [label = "git push", constraint = false]
+    amaster -> master [label = "git pull alice", constraint = false]
+    bmaster -> master [label = "git pull bob", constraint = false]
+}
diff --git a/img/matrix-pill.jpg b/img/matrix-pill.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0c3bdd6703b8e23e48d31f637c540eec5572d24a
Binary files /dev/null and b/img/matrix-pill.jpg differ
diff --git a/img/xkcd-1296-git-commit.png b/img/xkcd-1296-git-commit.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b3e6a451f0942f5ee89988b9b5e962deddf8daf
Binary files /dev/null and b/img/xkcd-1296-git-commit.png differ