a few parsing errors corrected