formatting and whitespace