Don't require an input list, the program can be passed arguments
update function documentation
Exec patch (from Alan D)