documentation and whitespace