wondering if we could not have one different function for this, but probably not (at least not in this patch)