Update from lunaryorn/blog@573643c55bc0650ff63404efca63970dc982a805