Created by Breighton Duncan
Contributed by Florian Hardwig
Contributed by Richard Lipton
Contributed by Stephen Coles