some typo corrected