Revert 8858a21..80badfa

This rolls back to commit 8858a2199d60888d6939de88918fcb0d93d6cf6d.
Revert 80badfa..bf59fc7

This rolls back to commit 80badfacba049ff788279d0a4812f9167e84e5b7.
Revert "Revert 80badfa..bf59fc7"

This reverts commit c2c8bdf8754d6e732d53268983302060f6014eb0.
Revert "Revert "Revert 80badfa..bf59fc7""

This reverts commit 83c32d3e89cf686c3e903fd92ee88f9fa44c03ba.