diff --git a/builds/SFB_CreateStudy.jar b/builds/SFB_CreateStudy.jar
index 7cd044a272f1c48e07c2168d063a2485e3dc6160..7a6af3feb8ddacf3faf4ffd098774e511670fb54 100644
Binary files a/builds/SFB_CreateStudy.jar and b/builds/SFB_CreateStudy.jar differ
diff --git a/src/main/Main.java b/src/main/Main.java
index fdd4c9336531040218b8006a1050bbb2da3ebeaa..e98ac29819a8e3a47c50abb08fceb629d127570a 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -14,15 +14,15 @@ import uiutils.LabelPanel;
 import uiutils.SimpleFrame;
 import uiutils.SpinnerINTPanel;
 import utils.CSV_Reader;
+import utils.SFB_CreateMeta;
 import utils.SFB_JSON_Util;
 import utils.SFB_Util;
 
 public class Main {
-	private static final String XLSX_SESSION_PREFIX = "SessionDate";
-	private static final String SFB_SUBJID = "Subject ID";
+	private static final String XLSX_SESSION_PREFIX = "Session Date";
 	private static final String SFB_RECORD_DATE = "Record Date";
 	
-	private static int xlsx_subjIdHeaderIndex = -1;
+	private static final String[] DEFAULT_HEADER_NAMES = new String[] {"Subject ID", "Subject Age", "Subject Sex", "Subject Type", "Extra Information"};
 	
 	public static void main(String[] args) {
 		SimpleFrame frame = new SimpleFrame("Create Study", 600, 400);
@@ -99,18 +99,25 @@ public class Main {
 					
 					xlsxReader = CSV_Reader.fromXLSX(xlsxImportFile.getOutput(), null);
 					
+					for(int i = 0; i < DEFAULT_HEADER_NAMES.length; i++) {
+						if (!xlsxReader.getColumnHead(i).equals(DEFAULT_HEADER_NAMES[i])) {
+							SimpleFrame.promt("Excel error: Column header Nr. " + i + " should be " + DEFAULT_HEADER_NAMES[i]);
+							return;
+						}
+					}
+					
 					sessions = 0;
-					while(xlsxReader.getColumn(XLSX_SESSION_PREFIX + " " + (sessions + 1)) != -1)
+					while(xlsxReader.getMaxColumns() > sessions + DEFAULT_HEADER_NAMES.length && xlsxReader.getColumnHead(sessions + DEFAULT_HEADER_NAMES.length).equals(XLSX_SESSION_PREFIX + " " +  String.format("%02d", sessions + 1)))
 						sessions++;
 
 					if (sessions == 0) {
-						SimpleFrame.promt("Please specify session dates in excel file: " + XLSX_SESSION_PREFIX + " 0");
+						SimpleFrame.promt("Please specify session dates in excel file: " + XLSX_SESSION_PREFIX + " 01");
 						return;
 					}
 					
+					xlsxReader.nullEntriesToEmptyStr();
 					
-					xlsx_subjIdHeaderIndex = xlsxReader.getColumnUncased(SFB_SUBJID); // 
-					codes = xlsxReader.getCompleteColumn(xlsx_subjIdHeaderIndex);
+					codes = xlsxReader.getCompleteColumn(0); // 0 for Subject ID
 					
 				} else {
 					
@@ -188,7 +195,7 @@ public class Main {
 			subjFolder.mkdir();
 			
 			for(int i = 1; i <= sessionAmount; i++)  {
-				File sessionFolder = new File(subjFolder.getAbsolutePath() + "\\ses-" + i);
+				File sessionFolder = new File(subjFolder.getAbsolutePath() + "\\ses-" + String.format("%02d", i));
 				sessionFolder.mkdir();
 				
 				if (xlsxReader != null)
@@ -211,23 +218,29 @@ public class Main {
 		SFB_Util.copy(baseMeta, metaJson);
 		
 		SFB_JSON_Util.performOnJson(metaJson, (obj) -> {
-			String[] currentRow = xlsxReader.getCompleteRow(xlsxReader.findRow(sfbSubjCode, xlsx_subjIdHeaderIndex));
+			String[] currentRow = xlsxReader.getCompleteRow(xlsxReader.findRow(sfbSubjCode, 0)); // SubjID
 			
-			for(int i = 0; i < currentRow.length; i++) {
+			 //new String[] {"Subject ID", "Subject Age", "Subject Sex", "Subject Type", "Extra Information"}
+			 obj.put("Subject ID", currentRow[0]);
+			 obj.put("Subject age", currentRow[1]);
+			 obj.put("Subject sex", SFB_JSON_Util.getGenderFromStringStart(currentRow[2]).toString());
+			
+			 if (!currentRow[3].equals("Healthy test subject") && !currentRow[3].equals("Patient") && !currentRow[3].equals("Healthy control subject"))
+				 currentRow[3] = "Healthy test subject";
+			 
+			 obj.put("Subject type", currentRow[3]);
+			 obj.put("Extra information", currentRow[4]);
+			
+			for(int i = DEFAULT_HEADER_NAMES.length; i < currentRow.length; i++) {
 				String header = xlsxReader.getColumnHead(i);
 				if (header.startsWith(XLSX_SESSION_PREFIX)) {
-					if (header.endsWith("" + currentSession)) { //Identifies the current session. This breaks in case of more than 9 sessions. But this wont happen.
+					if (header.endsWith("" + String.format("%02d", currentSession))) { //Identifies the current session. This breaks in case of more than 9 sessions. But this wont happen.
 						obj.put("DataCite-Date", currentRow[i]);
 						obj.put("DublinCore-Date", currentRow[i]);
 						header = SFB_RECORD_DATE;
 					}else
 						continue;
 				}
-				
-				if (header.trim().equals("") || currentRow[i].equals(""))
-					continue;
-				
-				obj.put(header, currentRow[i]);
 			
 			}
 		});
diff --git a/src/utils/CSV_Reader.java b/src/utils/CSV_Reader.java
index 00cf1100f88f3c913270c3c368430a78d03976bc..6bae4a5e8eede6484ec7f4d082cd3f954715bb65 100644
--- a/src/utils/CSV_Reader.java
+++ b/src/utils/CSV_Reader.java
@@ -67,6 +67,15 @@ public class CSV_Reader {
 		}
 	}
 	
+	public void nullEntriesToEmptyStr() {
+		for(int r = 0; r < getMaxRows(); r++) {
+			for(int c = 0; c < getMaxColumns(); c++) {
+				if (entries[r][c] == null)
+					entries[r][c] = "";
+			}
+		}
+	}
+	
 	private String[] arrayExpand(String[] arr) {
 		if (arr.length < headers.length) {
 			String[] newArr = new String[headers.length];
diff --git a/src/utils/SFB_JSON_Util.java b/src/utils/SFB_JSON_Util.java
index bb3c3e2cbcc8caf1d234cd6b7b3ec1ac6f4ec7d0..952e9bb41fd7960ddd1db729b3243d6afb2f74ae 100644
--- a/src/utils/SFB_JSON_Util.java
+++ b/src/utils/SFB_JSON_Util.java
@@ -221,6 +221,16 @@ public class SFB_JSON_Util {
 		return Gender.UNDEFINED;
 	}
 	
+	public static Gender getGenderFromStringStart(String gen) {
+		gen = gen.toLowerCase();
+		if(gen.startsWith("m")) {
+			return Gender.MALE;
+		} else if (gen.startsWith("w") || gen.startsWith("f")) {
+			return Gender.FEMALE;
+		}
+		return Gender.UNDEFINED;
+	}
+	
 	public enum PatientType {
 		HEALTY_TEST_SUBJ("Healthy test subject"),
 		PATIENT("Patient"),