Initial commit.

Some tests are still failing. Work in progress.