switch back to using recursiveiteratoritertor in scanner