added optional output file name parameter (-o / --outfile)