add `pattern_discard` option