adding behavioral - iterator