Revert 5ebbde6..edf9b62

This rolls back to commit 5ebbde624b41cb2b02a2877f336bcf7666995083.
Revert 3bed5fd..f1f9f62

This rolls back to commit 3bed5fdbbf4883aba6032b594466bf644264b7d9.
Revert a339e34..580fd4b

This rolls back to commit a339e344213c8ae661bda512b2ff1ea5bdb91759.
Revert fc179b2..09b6778

This rolls back to commit fc179b210f0ecca8372aa2833b01e33998517bae.
Revert "Revert fc179b2..09b6778"

This reverts commit 7cc4406075559cf270d6a06723ef4d324a51b8d0.