add pretty diagrams and some example code