already not modifying input, no need to safe it up twice