Implement pattern matching; rename Dump => PP