initial replacement for PatternAnalyzer