add TagExtractorBase, and try to use multiple API