first pass and new extractor and attribute type collection