completed feature extraction