avoid unnecessary whitespace