newer version of this is already in cvs