Revert c291a30..c31445a

This rolls back to commit c291a303baf0da3c558bd780280d5e9a827453b4.
Revert "Revert c291a30..c31445a"

This reverts commit ec25701b316b2a21466b8fe3b17175ee065ed191.
Revert ec25701..4700275

This rolls back to commit ec25701b316b2a21466b8fe3b17175ee065ed191.