Contributed by David Jonathan Ross
Contributed by H James Lucas
Contributed by XYZ Type
Contributed by Alex Slobzheninov