pull #25 patch to 4args version