Update from lunaryorn/blog@9f05a6593f714167ae5b5581a378edf3616fb044