Major new version. Counterpoints added.