Author: Martti M. Salomaa