added lazy args

Some tools don't accept input streams, they accept filenames. I added lazy args initialization.
Just use a function instead of array. The function should return an array.