0.4

Besides adding more tests, I believe this mostly done.