Revert c06b62d..09eca76

This rolls back to commit c06b62d40c9abd1ee192e86fc662836d28b8b7a5.
Revert "Revert c06b62d..09eca76"

This reverts commit b53184e13d30fc012887419967bbd0a3c7ef3462.
Revert 5b2d0dd..46018fd

This rolls back to commit 5b2d0ddd470f96b2f083d1d6e54acb49b4916874.