Created by Lukas Letsche
Contributed by Mike Blystone
Contributed by Axl Gamez González
Contributed by Stephen Coles