now using optional and is_optional to check for non optional parameters after optional ones also resolved a typo \t\bool instead of \t\tbool