Rearranged slightly and divided into sections.