def data_loader(e_file, f_file, args):
    """Load the source and target text file into a list with and also
    extract lists of unique tokens.

    Args:
        e_file (str): path to source (eng) file
        f_file (str): path to target (foreign) file

    Returns:
        tuple: comprising of a list of sentence pairs, list of tokens from 
        source text and list tokens from target text.
    """
    #**************** Some Toy Examples ****************
    # sentence_pairs = [
    #     [ ['la', 'maison'], ['the', 'house'] ],
    #     [ ['la', 'maison', 'bleu'], ['the', 'blue', 'house'] ],
    #     [ ['la', 'fleur'], ['the', 'flower'] ]
    # ]
    # sentence_pairs = [
    #     [ ['das', 'Haus'], ['the', 'house'] ],
    #     [ ['das', 'Buch'], ['the', 'book'] ],
    #     [ ['ein', 'Buch'], ['a', 'book'] ]
    # ]
    #************************************************
    sentence_pairs = [[sentence.strip().split() for sentence in pair]
                      for pair in zip(open(f_file), open(e_file))
                      ][:args.num_sents]
    english_words = []
    foreign_words = []
    for pair in sentence_pairs:
        for e_word in pair[1]:
            english_words.append(e_word)
        for f_word in pair[0]:
            foreign_words.append(f_word)
    english_words = sorted(list(set(english_words)), key=lambda s: s.lower())
    foreign_words = sorted(list(set(foreign_words)), key=lambda s: s.lower())
    return sentence_pairs, english_words, foreign_words