Support optional arguments