Contributed by André Mora
Contributed by Ben Nelsen
Contributed by Brian Dove
Contributed by Stephen Coles