Revert "Revert 4d2d71c..d0b0191"

This reverts commit e6b211bcae68add53d1017e01c05a9670b79ef7a.
Revert 4d2d71c..d0d8d06

This rolls back to commit 4d2d71c2eed8c300fb0d97cdb787b793e0499f41.