Contributed by Florian Hardwig
Contributed by Raphael Quadraat
Contributed by Eyad Al-Samman
Contributed by Jason Timmons