Created by Reshid Bey
Contributed by Christian Ortiz
Contributed by Matthijs Sluiter
Contributed by Stephen Coles