ability to take input file and output file as parameters