Contributed by Florian Hardwig
Contributed by Garrison Martin
Contributed by Jan Middendorp
Contributed by Curtis E. Gardner