[INTERNAL] full iteration