copied from the older CVS release