Doesn't compile the test, but a work in progress.