made most semicolons optional