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