Adding diagrams and design docs