flesh out the generalzed reader
need reader method, not start the iterator