added feature extraction