Cleanup

Replaces #71.