semicolon is not optional