Substantial rewrites and additions.