added a spiffy ascii diagram