Comments added, hand-in version.