Author: Quentin Hakenewerth.