variables, strings, comments and whitespace