explanations and diagrams