whitespace and semicolons compatible with jshint