reformatted with semicolons