avoid iterator draining