Contributed by fangly
Contributed by Garrison Martin
Contributed by Quentin Schmerber
Contributed by Stephen Coles