iter upper bound