Initial checkin

I already know there are some issues with this approach but didn't want
to lose all the work I had put in. Even bad stuff has lessons in it.