why do we return the unchanged parameter?