This is a variation of !69 (closed). (Please do not merge both.) For more details, please take a look at #102 (closed).
Closes #102 (closed)