Revised by Robert Carruthers.