added block diagrams for easy reference