added ASCII art diagram