implemented list iterator