character iteration