Made some major updates and fixes

I still have a lot more to get this to an acceptable state  to stand on
it's own, but it's getting there.