diff --git a/makefile b/makefile
index e9ae184f872d0e72d04feb893384531a77fc466b..dd5724bca05504f141ce1ceba6020397a728db5c 100644
--- a/makefile
+++ b/makefile
@@ -1,22 +1,33 @@
 inputs = $(shell ls src/*.md)  # $(wildcard src/*.md) outputs in the wrong order
 res = $(wildcard res/*)
 
-pandoc = pandoc $(inputs) -f markdown -t beamer \
---template template/template.tex --metadata-file metadata.yaml \
---slide-level 2 -V theme:metropolis -H template/theme.tex
+pandoc_options = -f markdown -t beamer --metadata-file metadata.yaml --slide-level 2 -V theme:metropolis -H template/theme.tex
+pandoc = pandoc $(inputs) $(pandoc_options)
 
-all: slides.pdf
+wanted_pdfs = $(patsubst src/%.md,out/%.pdf,$(inputs))
 
-slides.pdf: $(inputs) metadata.yaml template/template.tex $(res)
+all: ${wanted_pdfs} out/slides.pdf out/slides-notes.pdf out/slides.tex out/slides.html
+
+out/%.pdf: src/%.md
+	pandoc $< $(pandoc_options) --pdf-engine=lualatex -o $@
+
+out/slides.pdf: $(inputs) res/* template/theme.tex metadata.yaml
 	$(pandoc) --pdf-engine=lualatex -o $@
 
-slides.tex: $(inputs) metadata.yaml template/template.tex
+out/slides-notes.pdf: $(inputs) res/* template/theme.tex metadata.yaml
+	$(pandoc) --pdf-engine=lualatex -M beameroption="show notes on second screen=right" -o $@
+
+out/slides.tex: $(inputs) template/theme.tex metadata.yaml
 	$(pandoc) -o $@
 
-slides.html: $(inputs)
+out/slides.html: $(inputs) template/theme.tex metadata.yaml
 	pandoc $(inputs) -f markdown -t revealjs -s --slide-level 2 -o $@
 
 clean:
-	rm -f slides.pdf slides.tex slides.html
+	rm -f out/*
+
+watch:
+	while true; do $(MAKE) -q || $(MAKE); sleep 0.5; done
 
 .PHONY: all clean
+
diff --git a/template.tex b/template.tex
deleted file mode 100644
index d3b32b1c4401d834db38ba541b44f72962754e89..0000000000000000000000000000000000000000
--- a/template.tex
+++ /dev/null
@@ -1,64 +0,0 @@
-\documentclass{beamer}
-
-\usetheme{metropolis}
-
-% language
-
-\usepackage[ngerman]{babel}
-
-% math
-
-\usepackage{mathtools}  % math
-\usepackage{amssymb, stmaryrd}
-
-% layout
-
-\usepackage{xspace}  % for automatic spaces at the end of macros only when not followed by punctuation
-\setlength{\leftmargini}{1em}  % removes indentation of lists
-\providecommand{\tightlist}{
-  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}
-}
-
-% colors
-
-\definecolor{primary}{HTML}{$if(color-title)$$color-title$$else$ed6c00$endif$}
-\definecolor{progress-bg}{HTML}{$if(color-progress-bg)$$color-progress-bg$$else$f07d8f$endif$}
-\definecolor{progress-fg}{HTML}{$if(color-progress-fg)$$color-progress-fg$$else$a90d24$endif$}
-
-\metroset{sectionpage=progressbar, progressbar=frametitle, titleformat=smallcaps, background=light}
-
-\setbeamercolor{normal text}{fg=black}
-\setbeamercolor*{palette primary}{fg=white,bg=primary}
-\setbeamercolor*{progress bar}{fg=progress-fg, bg=progress-bg}
-
-% typograhpy
-
-\usepackage{sourcesanspro}
-\usepackage{sourcecodepro}
-
-% metadata
-
-$if(title)$
-\title{$title$}
-$endif$
-
-$if(date)$
-\date{$date$}
-$endif$
-
-$if(author)$
-\author{$author$}
-$endif$
-
-$if(institute)$
-\institute{$institute$}
-$endif$
-
-% document
-
-\begin{document}
-
-\frame{\titlepage}
-$body$
-
-\end{document}
diff --git a/theme.tex b/theme.tex
new file mode 100644
index 0000000000000000000000000000000000000000..b0d223d14c7d903b04fec31f1a3276a2ac3218ce
--- /dev/null
+++ b/theme.tex
@@ -0,0 +1,65 @@
+\definecolor{primary-medium}{HTML}{FF961F}
+
+\definecolor{accent-bright}{HTML}{FF961F}
+\definecolor{accent-light}{HTML}{FF8B05}
+\definecolor{accent-medium}{HTML}{804503}
+\definecolor{accent-dim}{HTML}{402301}
+
+\definecolor{old-ophase-complement}{HTML}{103F75}
+
+\definecolor{background-old-ophase}{HTML}{06172A}
+\definecolor{background-very-dark}{HTML}{021026}
+\definecolor{background-dark}{HTML}{031533}
+\definecolor{background-super-bright}{HTML}{0D6AFF}
+
+
+\metroset{sectionpage=progressbar, progressbar=foot, titleformat=smallcaps, background=light}
+
+\setbeamercolor{normal text}{fg=white}
+\setbeamercolor{background canvas}{fg=background-super-bright, bg=background-old-ophase}
+\setbeamercolor*{palette primary}{fg=white,bg=old-ophase-complement}
+\setbeamercolor*{progress bar}{fg=accent-bright, bg=accent-medium}
+
+\setlength{\leftmargini}{1em}
+
+\makeatletter
+\setlength{\metropolis@titleseparator@linewidth}{1pt}
+%\setlength{\metropolis@progressonsectionpage@linewidth}{1pt}
+\setlength{\metropolis@progressinheadfoot@linewidth}{1.2pt}
+\makeatother
+
+
+
+\usepackage{sourcesanspro}
+\usepackage{sourcecodepro}
+
+\usepackage[ngerman]{babel}
+\usepackage{listings}
+
+
+
+\usepackage{mathtools, amssymb, stmaryrd, unicode-math}
+\usepackage{xspace}
+
+\usepackage{fvextra}
+\usepackage{color}
+\usepackage{fancyvrb}
+% \renewcommand{\VERB}{\Verb[commandchars=\\\{\}]}
+\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},breaklines,fontsize=\small}
+\DefineVerbatimEnvironment{verbatim}{Verbatim}{commandchars=\\\{\},breaklines,fontsize=\small}
+
+\lstnewenvironment{algorithm}{
+    \lstset{
+        mathescape=true,
+        escapeinside={(*}{*)},
+        keepspaces=true,
+        numbers=left,
+        numberstyle=\tiny,
+        columns=fullflexible,
+        keywordstyle=\bfseries,
+        keywords={repeat, until, for, all, each, in, return, function, if, else, or, and, empty},
+        numbers=left
+    }
+}{}
+
+\usepackage[german=quotes]{csquotes}