automatically cleanup whitespace