comments added and changes to Iterator