Added constructor to take a file path instead of of a TextReader