Revert "Revert 600da24..74ca223"

This reverts commit f75edb0103317a8ae1c56c9c521ab6e6d039c618.
Revert "Everything's broken"

This reverts commit 74ca223cc8ba9b3c7cfafbb0a6d34db0ba0d11e6.