Contributed by Florian Hardwig
Contributed by Stephen Coles
Contributed by Mathieu Triay
Contributed by Alex Rosario
Contributed by Garrison Martin