fix option dependency issue
doesn't support mutual exclusive args, just let p > l