Contributed by Christoffer Leka
Contributed by Jaap Smit
Contributed by Stephen Coles
Contributed by Giovani Castelucci