don't introduce unnecessary whitespace