Created by Florian Bauer
Contributed by Ada Pawlikowska
Contributed by Stephen Coles
Contributed by Richard Lipton