Created by Frederick Willems
Contributed by Miguel Sanz
Contributed by Oed Ronne
Contributed by Stephen Coles