Work in progress.
Comments added.