Adapted from Jon Barron's academic website.