Update from lunaryorn/blog@463ebe7399c71856f7e2a9ef2829ea8e39527c11