def METHOD_NAME(
    nfeatures: int, config: Dict[str, Any]
) -> Tuple[List[np.ndarray], List[np.ndarray]]:
    words, frequencies = bow.load_bow_words_and_frequencies(config)
    bag_of_words = bow.BagOfWords(words, frequencies)
    # features 1
    f1 = np.random.normal(size=(nfeatures, 128)).astype(np.float32)
    f1 /= np.linalg.norm(f1)
    w1 = compute_words(f1, bag_of_words, config["bow_words_to_match"], "FLANN")
    # features 2
    f2 = f1 + np.random.normal(size=f1.shape).astype(np.float32) / 500.0
    f2 /= np.linalg.norm(f2)
    w2 = compute_words(f2, bag_of_words, config["bow_words_to_match"], "FLANN")
    return [f1, f2], [w1, w2]