Update from lunaryorn/blog@697e9ff0f53796bdbaf0f75edc260fa518840922