Contributed by Noah Baker
Contributed by Florian Hardwig
Contributed by Matt Grey
Contributed by JAF
Contributed by Shiva Nallaperumal