all this work done in 3-4 hours

This was code written in preparation for the demo tomorrow.