added custom iterator and implemented iterable interface