why by reference?