stable version

This rolls back to commit 2cd246992d5e6f53ce9aece3dce957cdfc099863.