ancillary function