Contributed by Chris Purcell
Contributed by Florian Hardwig
Contributed by Balder D. Dysthe
Contributed by Stephen Coles