Revert eed109a..ea17fac

This rolls back to commit eed109a0c26d7c31442e69f406b7ddfd8a554f66.
Revert "Revert eed109a..ea17fac"

This reverts commit cdba0b47f94f95b5ae1428fb86472defab3337b0.
Revert 546dee6..0786597

This rolls back to commit 546dee6d9145930130ae719d5b689af96db373c5.