many typos fixed