remove duplicate method; make it part of *Reader