splitting into producer/consumer
keeping it all as a single file
cleaning up
finished the spec except for web page with errors