changed FieldMatcher into a typesafe version