a few minor mistakes corrected