some typos corrected and minor rephrasing for readability