Updated with Hal's edits.