This will make it easier to write tools to analyze files, and to add support to the library for reading from and open file or pipe.