since the prototype changes, it may be an opportunity to switch to the convention of using pointers instead of references for out arguments.