added support for program parameters