Update from lunaryorn/blog@1ce444b79326243e9f16583c1c0d317bc8ba5686