Add DocumentReader and clean up reading