adds a lot of semicolons