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