Contributed by Pijush Dutta
Contributed by C J Redmond
Contributed by Florian Hardwig
Contributed by Stephen Coles