Contributed by JAF
Contributed by Love Lagerkvist
Contributed by Jack Frischer
Contributed by Veronica Belous