Update Algorythm
Add Iterator