added outputfile parameter