fix bug with optional parameters