some typo's corrected