Revert back to ce2c93a3c53aa236ff7576a6cec692c9c269adab

This reverts commits ac329073ef5ee38193dc2646fdcc35d600f3965b,
a9389c362a84af67a72aeb4b8a16d4003d6901ff,
b18ab4f38ae7c5467ebd30e6d885f38ddd4a324c,
95d038f177a8eb54a6423c790c9d1de6fcd97967, and
c6cc98ca5da4b86990241f0bc2184ee9ea116a6e, reversing
changes made to ce2c93a3c53aa236ff7576a6cec692c9c269adab.