typos and a few semicolons...