I gratefully acknowledge the contributions of the following people who have helped to improve this project: Emannuel Bourg, ebourg