add iterator constraints