Update from lunaryorn/blog@24cb26bdc7ab5635c1814b68960b7ad707d59f1c