add for loop support