Revert 3a459d6..6845f16

This rolls back to commit 3a459d69d0443ad3d4af3878398f9f04ffa414f1.
Revert "Revert 3a459d6..6845f16"

This reverts commit 40b16165ea71b516a03b383f591c6438a3ef5882.