nesting and whitespacing and removing comments