Created by Juan Ortega
Contributed by Michele Galluzzo
Contributed by Yury Ostromentsky
Contributed by Florian Hardwig