Fixed mislabelling in the diagram. Lots of minor edits and improvements.