Trying to get this to work properly :D.

This should work. All the stuff that's been done so far going up on
github. Very provisional so far.