lots of typos fixed, some final tweaks