Added contributions of Tero Keski-Valkama