typos corrected, finalized version