added block diagrams