Initial changes in 0.9.x rewrite. Breaking changes from previous version 0.5.0.