* merged modifications from Ely.