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