for loop use new implementation