functions - David Calhoun's blog