iteration seems slow - lets adda custom iterator