ported from latest CVS tag release_14