working on turning FeatureExtractor pseudocode into real code