new feature: PatternProcessor