Created by John Housser
Contributed by Davide Di Gennaro
Contributed by Florian Hardwig
Contributed by Rob Hudson