Added capability for optional arguments