Contributed by Garrison Martin
Contributed by Florian Hardwig
Contributed by Brian Phillips
Contributed by Stephen Coles