Update from lunaryorn/blog@176c8e6423990d9321f121d049b6bc8114cd8ee0