before:
after:
/CC @mdo @cvrebert: the branch needs some cleanup before it's merged but I opened it for feedback.