Contributed by Rutger van Aken
Contributed by DSType
Contributed by Chantal Jahchan
Contributed by Shiva Nallaperumal
Contributed by Stephen Coles