Added handling for optional parameters