Created by Sam Corrigan
Contributed by Angello Torres
Contributed by Kirill Gluschenko
Contributed by Georg Kettele