Updates!
Big updates, slowly moving towards something working.

Lots of tests still todo.