Initial (untested) implementation

Just starting to see what's possible.