Update from lunaryorn/blog@399f63d6bf036d33c7ba999e0787c99a96b8a290