PatternMatch - fixes + refactoring + tests