Contributed by Aliv Pandu
Contributed by Antoine Pazat
Contributed by Chris Benjamin
Contributed by Nick Sherman
Contributed by Stephen Coles