added auto-closing buffered reader iterator