missing auxiliary function