several typos and some wordings changed