Contributed by Fatype
Contributed by Anton Koovit
Contributed by Florian Runge
Contributed by Grilli Type