added tuple iteration