Comments added for clarification.