Major rework of Iterator and comments added