I am grateful to Jane Cahill for her help on this article. She caught several errors and provided me with much of the documentation.