diff --git a/adapter_classifier.py b/adapter_classifier.py
index d7ca592fafee501fc8829c932dd6a03732c923f8..a260108fd33a183b38166e0b4852f7a24628c47e 100644
--- a/adapter_classifier.py
+++ b/adapter_classifier.py
@@ -32,9 +32,9 @@ tokenizer = AutoTokenizer.from_pretrained(args.transformer_model)
 # we are saving the test results of specific epochs
 specific_results = open_specific_results('mappings/specific_results.txt')
 if '1-2-3' in adapter_name or 'layer1;layer2;layer3' in adapter_name:
-    specific_results = specific_results['A1_3'][4]
+    specific_results = list(specific_results['A1_3'][args.num_epochs])
 else:
-    specific_results = specific_results['A1'][3]
+    specific_results = list(specific_results['A1'][args.num_epochs])
 
 set_seed(42)
 
@@ -65,7 +65,8 @@ dev_dict_df = {corpus : pd.DataFrame([[' '.join(x[-2]), x[-1]]
 test_dict_df = {corpus : pd.DataFrame([[' '.join(x[-2]), x[-1]] 
                                       for x in sents], 
                                      columns = file_header)
-               for corpus, sents in test_dict_sentences.items()}
+               for corpus, sents in test_dict_sentences.items()
+               if corpus in specific_results}
 
 #Make datasets from dataframes
 train_dataset = datasets.Dataset.from_pandas(train_df)
@@ -138,17 +139,20 @@ if args.freeze_layers != '':
 print('Start training...')
 trainer.train()
 
+# Dev results
+
 print('\nDev results:')
 for corpus in encoded_dev_dataset:
+    print()
     _ = get_predictions_huggingface(trainer, corpus, 
                                     encoded_dev_dataset[corpus])
-    
+# Save specific test results
 
 print('\nTest results:')
 for corpus in encoded_test_dataset:
+    print()
     test_results = get_predictions_huggingface(trainer, corpus, 
                                     encoded_test_dataset[corpus])
-    
-    if corpus in specific_results:
-        print_results_to_file(corpus, test_dict_sentences[corpus], test_results, 
-                              inv_mappings, substitutions_file)
\ No newline at end of file
+
+    print_results_to_file(corpus, test_dict_sentences[corpus], test_results, 
+                          inv_mappings, substitutions_file)
\ No newline at end of file
diff --git a/environment.yml b/environment.yml
index 66ebd3081f94d2f40b527c90169c477fc639a11a..63019aea5ca4526947bc4b433ad7d1255d47d475 100644
--- a/environment.yml
+++ b/environment.yml
@@ -22,16 +22,17 @@ dependencies:
   - xz=5.4.2=h5eee18b_0
   - zlib=1.2.13=h5eee18b_0
   - pip:
-    - adapter-transformers==3.2.1
+    - adapter-transformers==3.0.1
     - aiohttp==3.8.4
     - aiosignal==1.3.1
     - async-timeout==4.0.2
     - attrs==23.1.0
     - certifi==2023.5.7
     - charset-normalizer==3.1.0
+    - click==8.1.3
     - cmake==3.26.3
-    - datasets==2.12.0
-    - dill==0.3.6
+    - datasets==2.4.0
+    - dill==0.3.5.1
     - filelock==3.12.0
     - frozenlist==1.3.3
     - fsspec==2023.5.0
@@ -43,7 +44,7 @@ dependencies:
     - markupsafe==2.1.2
     - mpmath==1.3.0
     - multidict==6.0.4
-    - multiprocess==0.70.14
+    - multiprocess==0.70.13
     - networkx==3.1
     - numpy==1.24.3
     - nvidia-cublas-cu11==11.10.3.66
@@ -67,17 +68,18 @@ dependencies:
     - regex==2023.5.5
     - requests==2.30.0
     - responses==0.18.0
+    - sacremoses==0.0.53
     - scikit-learn==1.2.2
     - scipy==1.10.1
     - six==1.16.0
     - sympy==1.12
     - threadpoolctl==3.1.0
-    - tokenizers==0.13.3
+    - tokenizers==0.12.1
     - torch==2.0.1
     - torchaudio==2.0.2
     - torchvision==0.15.2
     - tqdm==4.65.0
-    - transformers==4.29.0
+    - transformers==4.18.0
     - triton==2.0.0
     - typing-extensions==4.5.0
     - tzdata==2023.3
diff --git a/mappings/specific_results.txt b/mappings/specific_results.txt
index ee09b02cf1df3ec1b28fb45768e76cbda009697f..42928119512d8297736732b0fdb8a8f4d82a8b64 100644
--- a/mappings/specific_results.txt
+++ b/mappings/specific_results.txt
@@ -1,27 +1,27 @@
-Model	Epochs	Corpus
-A1	3	eng.pdtb.pdtb
-A1	3	eng.rst.gum
-A1	3	por.pdtb.crpc
-A1	3	por.pdtb.tedm
-A1	3	rus.rst.rrt
-A1	3	spa.rst.sctb
-A1	3	tha.pdtb.tdtb
-A1	3	zho.dep.scidtb
-A1_3	4	deu.rst.pcc
-A1_3	4	eng.dep.scidtb
+BEST	EPOCH	Corpus
+B	3	deu.rst.pcc
+B	2	eng.dep.covdtb
+B	3	eng.dep.scidtb
+B	3	eng.pdtb.pdtb
+A1_3	4	eng.pdtb.tedm
+A1_3	4	eng.rst.gum
 A1_3	4	eng.rst.rstdt
 A1_3	4	eng.sdrt.stac
 A1_3	4	eus.rst.ert
-A1_3	4	fas.rst.prstc
+B	1	fas.rst.prstc
 A1_3	4	fra.sdrt.annodis
 A1_3	4	ita.pdtb.luna
 A1_3	4	nld.rst.nldt
+A1	3	por.pdtb.crpc
+A1_3	4	por.pdtb.tedm
 A1_3	4	por.rst.cstn
+A1_3	4	rus.rst.rrt
 A1_3	4	spa.rst.rststb
-A1_3	4	tur.pdtb.tdb
+B	5	spa.rst.sctb
+B	5	tha.pdtb.tdtb
+B	3	tur.pdtb.tdb
 A1_3	4	tur.pdtb.tedm
-A1_3	4	zho.rst.gcdt
-B	6	eng.dep.covdtb
-B	2	eng.pdtb.tedm
+A1	3	zho.dep.scidtb
 B	3	zho.pdtb.cdtb
-B	3	zho.rst.sctb
\ No newline at end of file
+A1	3	zho.rst.gcdt
+B	2	zho.rst.sctb
\ No newline at end of file
diff --git a/mappings/substitutions.txt b/mappings/substitutions.txt
index 8afbd6b7a76c179a6cdbec35144eb717126ce345..8d133789117c1df7d86c4c48290061ea06ff3e51 100644
--- a/mappings/substitutions.txt
+++ b/mappings/substitutions.txt
@@ -1,91 +1,125 @@
 ORIGINAL-LABEL	ORIGINAL-CORPUS	SUBSTITUTE
-alternation	fra.sdrt.annodis	expansion.alternative
-alternation	eng.sdrt.stac	expansion.alternative
-alternative	spa.rst.rststb	expansion.alternative
-alternative	zho.pdtb.cdtb	expansion.alternative
-bg-general	zho.dep.scidtb	background	
-bg-general	eng.dep.scidtb	background
-causation	zho.pdtb.cdtb	cause
-conditional	fra.sdrt.annodis	condition
-conditional	eng.sdrt.stac	condition        
-conditional	zho.pdtb.cdtb	condition
-conjunction	spa.rst.sctb	expansion.conjunction
-conjunction	eus.rst.ert	expansion.conjunction
-conjunction	deu.rst.pcc	expansion.conjunction
-conjunction	zho.rst.sctb	expansion.conjunction
-conjunction	nld.rst.nldt	expansion.conjunction
-conjunction	spa.rst.rststb	expansion.conjunction
-correction	eng.sdrt.stac	expansion.correction
-disjunction	spa.rst.sctb	expansion.disjunction
-disjunction	eus.rst.ert	expansion.disjunction
-disjunction	deu.rst.pcc	expansion.disjunction
-disjunction	zho.rst.sctb	expansion.disjunction
-disjunction	nld.rst.nldt	expansion.disjunction
-disjunction	spa.rst.rststb	expansion.disjunction
-evidence	spa.rst.sctb	explanation-evidence
-evidence	rus.rst.rrt	explanation-evidence
-evidence	por.rst.cstn	explanation-evidence
-evidence	eus.rst.ert	explanation-evidence
-evidence	deu.rst.pcc	explanation-evidence
-evidence	zho.rst.sctb	explanation-evidence
-evidence	nld.rst.nldt	explanation-evidence
-evidence	spa.rst.rststb	explanation-evidence
-exp-evidence	zho.dep.scidtb	explanation-evidence
-exp-evidence	eng.dep.scidtb	explanation-evidence
-goal	fra.sdrt.annodis	purpose-goal
-joint-disjunction	zho.rst.gcdt	expansion.disjunction
-justify	spa.rst.sctb	explanation-justify
-justify	por.rst.cstn	explanation-justify
-justify	eus.rst.ert	explanation-justify
-justify	zho.rst.sctb	explanation-justify
-justify	nld.rst.nldt	explanation-justify
-justify	spa.rst.rststb	explanation-justify
-list	spa.rst.sctb	joint-list
-list	por.rst.cstn	joint-list
-list	eus.rst.ert	joint-list
-list	deu.rst.pcc	joint-list
-list	zho.rst.sctb	joint-list	
-list	nld.rst.nldt	joint-list
-list	spa.rst.rststb	joint-list
-motivation	spa.rst.sctb	explanation-motivation
-motivation	rus.rst.rrt	explanation-motivation
-motivation	por.rst.cstn	explanation-motivation
-motivation	eus.rst.ert	explanation-motivation
-motivation	zho.rst.sctb	explanation-motivation
-motivation	nld.rst.nldt	explanation-motivation
-motivation	spa.rst.rststb	explanation-motivation
-otherwise	por.rst.cstn	adversative     
-otherwise	eus.rst.ert	adversative
-otherwise	nld.rst.nldt	adversative
-repetition	ita.pdtb.luna	restatement-repetition
-restatement	spa.rst.sctb	expansion.restatement
-restatement	rus.rst.rrt	expansion.restatement	
-restatement	por.rst.cstn	expansion.restatement
-restatement	eus.rst.ert	expansion.restatement
-restatement	deu.rst.pcc	expansion.restatement
-restatement	zho.rst.sctb	expansion.restatement
-restatement	nld.rst.nldt	expansion.restatement
-restatement	spa.rst.rststb	expansion.restatement
-restatement	eng.rst.gum	expansion.restatement
-sequence	spa.rst.sctb	joint-sequence	
-sequence	rus.rst.rrt	joint-sequence	
-sequence	por.rst.cstn	joint-sequence	
-sequence	eus.rst.ert	joint-sequence
-sequence	deu.rst.pcc	joint-sequence
-sequence	zho.rst.sctb	joint-sequence
-sequence	nld.rst.nldt	joint-sequence
-sequence	spa.rst.rststb	joint-sequence
-temporal.synchrony	ita.pdtb.luna	temporal.synchronous
-textual-organization	eng.rst.rstdt	organization
-unconditional	eus.rst.ert	expansion.disjunction
-unconditional	nld.rst.nldt	expansion.disjunction
-unless	eus.rst.ert	contrast      
-unless	nld.rst.nldt	contrast  
-unless	spa.rst.rststb	contrast
-cause-result	eng.dep.covdtb	cause-effect
-qap	por.pdtb.crpc	question_answer_pair
-expansion.level	por.pdtb.crpc	expansion.level-of-detail
-qap.hypophora	por.pdtb.crpc	hypophora
-findings	eng.dep.covdtb	result
-textual-organization	eng.dep.covdtb	organization
-expansion.genexpansion	tha.pdtb.tdtb	expansion
\ No newline at end of file
+Alternation	eng.sdrt.stac	expansion.alternative
+Alternative	zho.pdtb.cdtb	expansion.alternative
+Causation	zho.pdtb.cdtb	cause
+CAUSE-RESULT	eng.dep.covdtb	cause-effect
+Comparison.Concession	eng.pdtb.pdtb	comparison.concession
+Comparison.Concession	tur.pdtb.tdb	comparison.concession
+Comparison.Concession	por.pdtb.tedm	comparison.concession
+Comparison.Concession	eng.pdtb.tedm	comparison.concession
+Comparison.Concession	tur.pdtb.tedm	comparison.concession
+Comparison.Concession+SpeechAct	eng.pdtb.pdtb	comparison.concession+speechact
+Comparison.Concession+SpeechAct	tur.pdtb.tdb	comparison.concession+speechact
+Comparison.Concession+SpeechAct	por.pdtb.tedm	comparison.concession+speechact
+Comparison.Concession+SpeechAct	tur.pdtb.tedm	comparison.concession+speechact
+Comparison.Contrast	eng.pdtb.pdtb	comparison.contrast
+Comparison.Contrast	tur.pdtb.tdb	comparison.contrast
+Comparison.Contrast	por.pdtb.tedm	comparison.contrast
+Comparison.Contrast	eng.pdtb.tedm	comparison.contrast
+Comparison.Contrast	tur.pdtb.tedm	comparison.contrast
+Comparison.Degree	tur.pdtb.tdb	comparison.degree
+Comparison.Similarity	eng.pdtb.pdtb	comparison.similarity
+Comparison.Similarity	tur.pdtb.tdb	comparison.similarity
+Comparison.Similarity	por.pdtb.tedm	comparison.similarity
+Comparison.Similarity	eng.pdtb.tedm	comparison.similarity
+Comparison.Similarity	tur.pdtb.tedm	comparison.similarity
+Conditional	eng.sdrt.stac	condition
+Conditional	zho.pdtb.cdtb	condition
+Contingency.Cause	eng.pdtb.pdtb	contingency.cause
+Contingency.Cause	tur.pdtb.tdb	contingency.cause
+Contingency.Cause	por.pdtb.tedm	contingency.cause
+Contingency.Cause	eng.pdtb.tedm	contingency.cause
+Contingency.Cause	tur.pdtb.tedm	contingency.cause
+Contingency.Cause+Belief	eng.pdtb.pdtb	contingency.cause+belief
+Contingency.Cause+Belief	tur.pdtb.tdb	contingency.cause+belief
+Contingency.Cause+Belief	por.pdtb.tedm	contingency.cause+belief
+Contingency.Cause+Belief	eng.pdtb.tedm	contingency.cause+belief
+Contingency.Cause+Belief	tur.pdtb.tedm	contingency.cause+belief
+Contingency.Cause+SpeechAct	eng.pdtb.pdtb	contingency.cause+speechact
+Contingency.Cause+SpeechAct	tur.pdtb.tdb	contingency.cause+speechact
+Contingency.Cause+SpeechAct	por.pdtb.tedm	contingency.cause+speechact
+Contingency.Cause+SpeechAct	eng.pdtb.tedm	contingency.cause+speechact
+Contingency.Cause+SpeechAct	tur.pdtb.tedm	contingency.cause+speechact
+Contingency.Condition	eng.pdtb.pdtb	contingency.condition
+Contingency.Condition	tur.pdtb.tdb	contingency.condition
+Contingency.Condition	por.pdtb.tedm	contingency.condition
+Contingency.Condition	eng.pdtb.tedm	contingency.condition
+Contingency.Condition	tur.pdtb.tedm	contingency.condition
+Contingency.Condition+SpeechAct	eng.pdtb.pdtb	contingency.condition+speechact
+Contingency.Condition+SpeechAct	por.pdtb.tedm	contingency.condition+speechact
+Contingency.Condition+SpeechAct	eng.pdtb.tedm	contingency.condition+speechact
+Contingency.Condition+SpeechAct	tur.pdtb.tedm	contingency.condition+speechact
+Contingency.Negative-cause	eng.pdtb.pdtb	contingency.negative-cause
+Contingency.Negative-condition	eng.pdtb.pdtb	contingency.negative-condition
+Contingency.Negative-condition	tur.pdtb.tdb	contingency.negative-condition
+Contingency.Negative-condition	tur.pdtb.tedm	contingency.negative-condition
+Contingency.Purpose	eng.pdtb.pdtb	contingency.purpose
+Contingency.Purpose	tur.pdtb.tdb	contingency.purpose
+Contingency.Purpose	por.pdtb.tedm	contingency.purpose
+Contingency.Purpose	eng.pdtb.tedm	contingency.purpose
+Contingency.Purpose	tur.pdtb.tedm	contingency.purpose
+Correction	eng.sdrt.stac	expansion.correction
+Expansion	tur.pdtb.tedm	expansion
+Expansion.Conjunction	eng.pdtb.pdtb	expansion.conjunction
+Expansion.Conjunction	tur.pdtb.tdb	expansion.conjunction
+Expansion.Conjunction	por.pdtb.tedm	expansion.conjunction
+Expansion.Conjunction	eng.pdtb.tedm	expansion.conjunction
+Expansion.Conjunction	tur.pdtb.tedm	expansion.conjunction
+Expansion.Correction	tur.pdtb.tdb	expansion.correction
+Expansion.Disjunction	eng.pdtb.pdtb	expansion.disjunction
+Expansion.Disjunction	tur.pdtb.tdb	expansion.disjunction
+Expansion.Disjunction	por.pdtb.tedm	expansion.disjunction
+Expansion.Disjunction	eng.pdtb.tedm	expansion.disjunction
+Expansion.Disjunction	tur.pdtb.tedm	expansion.disjunction
+Expansion.Equivalence	eng.pdtb.pdtb	expansion.equivalence
+Expansion.Equivalence	tur.pdtb.tdb	expansion.equivalence
+Expansion.Equivalence	por.pdtb.tedm	expansion.equivalence
+Expansion.Equivalence	eng.pdtb.tedm	expansion.equivalence
+Expansion.Equivalence	tur.pdtb.tedm	expansion.equivalence
+Expansion.Exception	eng.pdtb.pdtb	expansion.exception
+Expansion.Exception	tur.pdtb.tdb	expansion.exception
+Expansion.Exception	eng.pdtb.tedm	expansion.exception
+Expansion.Exception	tur.pdtb.tedm	expansion.exception
+Expansion.GenExpansion	tha.pdtb.tdtb	expansion
+Expansion.Instantiation	eng.pdtb.pdtb	expansion.instantiation
+Expansion.Instantiation	tur.pdtb.tdb	expansion.instantiation
+Expansion.Instantiation	por.pdtb.tedm	expansion.instantiation
+Expansion.Instantiation	eng.pdtb.tedm	expansion.instantiation
+Expansion.Instantiation	tur.pdtb.tedm	expansion.instantiation
+Expansion.Level	por.pdtb.crpc	expansion.level-of-detail
+Expansion.Level-of-detail	eng.pdtb.pdtb	expansion.level-of-detail
+Expansion.Level-of-detail	tur.pdtb.tdb	expansion.level-of-detail
+Expansion.Level-of-detail	por.pdtb.tedm	expansion.level-of-detail
+Expansion.Level-of-detail	eng.pdtb.tedm	expansion.level-of-detail
+Expansion.Level-of-detail	tur.pdtb.tedm	expansion.level-of-detail
+Expansion.Manner	eng.pdtb.pdtb	expansion.manner
+Expansion.Manner	tur.pdtb.tdb	expansion.manner
+Expansion.Manner	por.pdtb.tedm	expansion.manner
+Expansion.Manner	eng.pdtb.tedm	expansion.manner
+Expansion.Manner	tur.pdtb.tedm	expansion.manner
+Expansion.Substitution	eng.pdtb.pdtb	expansion.substitution
+Expansion.Substitution	tur.pdtb.tdb	expansion.substitution
+Expansion.Substitution	por.pdtb.tedm	expansion.substitution
+Expansion.Substitution	eng.pdtb.tedm	expansion.substitution
+Expansion.Substitution	tur.pdtb.tedm	expansion.substitution
+FINDINGS	eng.dep.covdtb	result
+Hypophora	eng.pdtb.pdtb	hypophora
+Hypophora	tur.pdtb.tdb	hypophora
+Hypophora	por.pdtb.tedm	hypophora
+Hypophora	eng.pdtb.tedm	hypophora
+Hypophora	tur.pdtb.tedm	hypophora
+QAP	por.pdtb.crpc	question_answer_pair
+QAP.Hypophora	por.pdtb.crpc	hypophora
+Repetition	ita.pdtb.luna	restatement-repetition
+Temporal.Asynchronous	eng.pdtb.pdtb	temporal.asynchronous
+Temporal.Asynchronous	tur.pdtb.tdb	temporal.asynchronous
+Temporal.Asynchronous	por.pdtb.tedm	temporal.asynchronous
+Temporal.Asynchronous	eng.pdtb.tedm	temporal.asynchronous
+Temporal.Asynchronous	tur.pdtb.tedm	temporal.asynchronous
+Temporal.Synchronous	eng.pdtb.pdtb	temporal.synchronous
+Temporal.Synchronous	tur.pdtb.tdb	temporal.synchronous
+Temporal.Synchronous	por.pdtb.tedm	temporal.synchronous
+Temporal.Synchronous	eng.pdtb.tedm	temporal.synchronous
+Temporal.Synchronous	tur.pdtb.tedm	temporal.synchronous
+Temporal.Synchrony	ita.pdtb.luna	temporal.synchronous
+TEXTUAL-ORGANIZATION	eng.dep.covdtb	organization
\ No newline at end of file
diff --git a/pytorch_classifier.py b/pytorch_classifier.py
index 33fe2d8837658038bb43fb419fb3d25ab285488e..02310d86d0a170918529561954b91bd74ecab1f7 100644
--- a/pytorch_classifier.py
+++ b/pytorch_classifier.py
@@ -3,7 +3,7 @@
 
 import torch
 import numpy as np
-from transformers import AutoModel, AutoTokenizer, get_linear_schedule_with_warmup
+from transformers import AutoModel, AutoTokenizer, get_linear_schedule_with_warmup, set_seed
 from torch import nn
 from torch.optim import AdamW
 from torch.utils.data import DataLoader
@@ -24,6 +24,7 @@ dt_string = now.strftime("%d.%m.%y-%H:%M:%S")
 layers_to_freeze = args.freeze_layers.split(";")
 substitutions_file = 'mappings/substitutions.txt'
 specific_results = open_specific_results('mappings/specific_results.txt')['B']
+set_seed(42)
 
 # ===============
 # Dataset class
diff --git a/requirements.txt b/requirements.txt
index b24b999bbe0223dc88858691081d380f42c4b0b3..e03aac89c19c88e5496beee1eb6ce1f781c316b4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,13 +1,14 @@
-adapter-transformers==3.2.1
+adapter-transformers==3.0.1
 aiohttp==3.8.4
 aiosignal==1.3.1
 async-timeout==4.0.2
 attrs==23.1.0
 certifi==2023.5.7
 charset-normalizer==3.1.0
+click==8.1.3
 cmake==3.26.3
-datasets==2.12.0
-dill==0.3.6
+datasets==2.4.0
+dill==0.3.5.1
 filelock==3.12.0
 frozenlist==1.3.3
 fsspec==2023.5.0
@@ -19,7 +20,7 @@ lit==16.0.3
 MarkupSafe==2.1.2
 mpmath==1.3.0
 multidict==6.0.4
-multiprocess==0.70.14
+multiprocess==0.70.13
 networkx==3.1
 numpy==1.24.3
 nvidia-cublas-cu11==11.10.3.66
@@ -43,20 +44,21 @@ PyYAML==6.0
 regex==2023.5.5
 requests==2.30.0
 responses==0.18.0
+sacremoses==0.0.53
 scikit-learn==1.2.2
 scipy==1.10.1
 six==1.16.0
 sympy==1.12
 threadpoolctl==3.1.0
-tokenizers==0.13.3
+tokenizers==0.12.1
 torch==2.0.1
 torchaudio==2.0.2
 torchvision==0.15.2
 tqdm==4.65.0
-transformers==4.29.0
+transformers==4.18.0
 triton==2.0.0
 typing_extensions==4.5.0
 tzdata==2023.3
 urllib3==2.0.2
 xxhash==3.2.0
-yarl==1.9.2
+yarl==1.9.2
\ No newline at end of file
diff --git a/train_classifiers.sh b/train_classifiers.sh
index 7ba5e72a085db190487e7fe57fa167075e9652bb..324127d53a55d96661883c17b6069cdf79c72ae1 100644
--- a/train_classifiers.sh
+++ b/train_classifiers.sh
@@ -11,7 +11,7 @@
 # To reproduce the results of MELODI team, do NOT change other params.
 
 # bare classifier
-python pytorch_classifier.py --num_epochs 6 --data_path 'PATH_TO_REPO'
+python pytorch_classifier.py --num_epochs 5 --data_path 'PATH_TO_REPO'
 
 # Train the adapters:
 python make_adapter.py --num_epochs 15 --data_path 'PATH_TO_REPO' --freeze_layers 'layer.1;layer.2;layer.3'
diff --git a/utils.py b/utils.py
index fd00ca9a2adf435aa0625b86ca1ff5be76c670eb..2e0635712fd1b91c88a0feff61cca2667f77eeb6 100644
--- a/utils.py
+++ b/utils.py
@@ -210,6 +210,19 @@ def print_results_to_file(corpus, test_sentences, test_results,
         the specifications of the Shared task.
         Returns: one file per corpus with predictions.
     '''
+    output_folder = 'results'
+    header = '\t'.join(['doc',
+                         'unit1_toks',
+                         'unit2_toks',
+                         'unit1_txt',
+                         'unit2_txt',
+                         's1_toks',
+                         's2_toks',
+                         'unit1_sent',
+                         'unit2_sent',
+                         'dir',
+                         'orig_label',
+                         'predicted_label'])
     
     # create a dict of all the substitutions that were made
     revert_substitutions = {}
@@ -222,8 +235,8 @@ def print_results_to_file(corpus, test_sentences, test_results,
             revert_substitutions[l[1]][l[2]] = l[0]
     
     # save the results in a separate folder, one file per corpus
-    if not os.path.exists('test_results_ST3'):
-        os.makedirs('test_results_ST3')
+    if not os.path.exists(output_folder):
+        os.makedirs(output_folder)
     
     results_to_write = []
     
@@ -236,11 +249,11 @@ def print_results_to_file(corpus, test_sentences, test_results,
                     label = revert_substitutions[corpus][label]
         except:
             pass
-        temp  = sent[:-2] + [label]
-        assert len(temp) == 12
+        temp  = sent[:11] + [label]
         results_to_write.append(temp)
     
-    with open('test_results_ST3/' + corpus + '.tsv', 'a+', encoding='utf-8') as f:
+    with open(output_folder + '/' + corpus + '.tsv', 'a+', encoding='utf-8') as f:
+        f.write(header + '\n')
         for line in results_to_write:
             f.write('\t'.join([str(x) for x in line]))
             f.write('\n')
\ No newline at end of file