Contributed by Richard Baird
Contributed by Stephen Coles
Contributed by Laura Csocsán
Contributed by Nguyen Gobber