     }
     SortVocab();
     if (debug_mode > 0) {
-        printf("Vocab size: %lld\n", vocab_size);
-        printf("Words in train file: %lld\n", train_words);
+        printf("| -- vocab size: %lld\n", vocab_size);
+        printf("| -- words in train file: %lld\n", train_words);
     }
     fin = fopen(train_file, "rb");
     if (fin == NULL) {

}

void TrainModel() {
    long a, b, c, d;
    FILE *fo;
    pthread_t *pt = (pthread_t *)malloc(num_threads * sizeof(pthread_t));
    printf("Starting training using file %s\n", train_file);
    starting_alpha = alpha;
  
    profile("build vocab begin");
    if (read_vocab_file[0] != 0) ReadVocab(); else LearnVocabFromTrainFile();
    profile("build vocab end");

    profile("save vocab begin");
    if (save_vocab_file[0] != 0) SaveVocab();
    profile("save vocab end");
      
    if (output_file[0] == 0) return;
    InitNet();
    if (negative > 0) InitUnigramTable();

    profile("training model begin");
    start = clock();
    for (a = 0; a < num_threads; a++) pthread_create(&pt[a], NULL, TrainModelThread, (void *)a);
    for (a = 0; a < num_threads; a++) pthread_join(pt[a], NULL);
    profile("training model end");

    profile("saving model begin");
    fo = fopen(output_file, "wb");
    if (classes == 0) {
        // Save the word vectors

        }
    return -1;
}
