modifications from earlier work