Update the README.md with diagrams and explanation.