Contributed by Stephen Coles
Contributed by Philippe Dionne Bussières
Contributed by Jacek Dobrzyniecki
Contributed by Alain Papazian
Contributed by Braden Collum