added a lot of semicolons