Revert d5a15ef..c9d1033

This rolls back to commit d5a15efa3ef9c392c97d4a24317585cf67ad6beb.
Revert edf893c..4529d51

This rolls back to commit edf893c718c72a88ee738ea7a7f223c8638cb9d4.
Revert "Revert edf893c..4529d51"

This reverts commit 01b6eb9aafa6b181a8c31fc81f343c0618537895.