Contributed by Jascha schwarz
Contributed by Ole Henrik Henriksen
Contributed by Max Phillips
Contributed by ungestalt