stage 2, some typos fixed