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