Original author:
- Philipp Bosch, @philippbosch

Contributions from:
- Owais Lone, @owais
- Chris Vigelius, @chrisv2