Author: Ctein.