Author: Pathelin.