add additional parameters to allow manipulation of the return value