Edited for clarity, major and minor typos fixed.