Author: Arto K. Salomaa