Add support for optional parameters