add some plantuml diagrams to remember myself how this all works