Iterator Design pattern added