use iterator instead of forcing tuple