added block_diagram