Big initial commit - WIP.  This doesn't actually work yet, y'know?