add SAOExtractor