Created by Malin Blom
Contributed by Shiva Nallaperumal
Contributed by Tomas Brousil
Contributed by TypeTogether