First iteration.  Most things are sort of working, but not everything.
A few changes to expand upon what I want to see.