Updating main branch

Creating a pull request for commenting ability
Why take in the parser instead of the file itself? (maybe there are other ways to create a parser not from a file?)