Created by Daniel Rocha
Contributed by Dogma
Contributed by Martin Wenzel
Contributed by Stephen Coles