more work on extract_features