Author: Routhier.