Contributed by Mason Lee
Contributed by Daniel Dell
Contributed by João Apolinário
Contributed by Bryson Stohr