Contributed by Stephen Coles
Contributed by Florian Hardwig
Contributed by B.J. Winzer
Contributed by Nick Sherman