diff --git a/generator.c b/generator.c
index 9d68aae..7ed729c 100644
--- a/generator.c
+++ b/generator.c
@@ -1,13 +1,4 @@
-/**
- * File:        generator.c
- * Author:      Risto Heinsar
- * Created:     12.03.2015
- * Modified     14.03.2023
- *
- * Description: This is a random data generator
- * 
- * Note:        This is a starter code for a lab task
- */
+
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -44,43 +35,62 @@ int main(void)
 	
 
 	
-	users data[SEATS];
+	users data[SEATS] = {0};
 	
-	int i;
+	int i, j;
 	char seat[4];
 	char month[STR_MAX];
 	char date[DOB_MAX];
-	char email[STR_MAX];
+	char mail[STR_MAX];
+	char docNum[DOC_MAX];
+	char letters[26] = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
+
 	
 	for (i = 0; i < nameCount; i++)
 	{
-		strcpy((data + i)->lName, lastNames[GetRand(0,firstNamePoolSize - 1)]);
-		strcpy((data + i)->fName, firstNames[GetRand(0,lastNamePoolSize - 1)]);
-		
+		strcpy((data + i)->lName, lastNames[GetRand(0,lastNamePoolSize - 1)]);
+		strcpy((data + i)->fName, firstNames[GetRand(0,firstNamePoolSize - 1)]);
+		printf("TEST: %s\n", (data + i)->fName);
 		do //leitakse random istekoht, kuni funktsioon tagastab et
 		{	//kellegil pole seda istkohta otsitakse uus.
 			strcpy(seat,seats[GetRand(0,seatPoolSize - 1)]);
-		}while (GetUniqueSeat(data, i, *seats, SEATS, seat) > 0);
+		}while (GetUniqueSeat(data, i, seat) > 0);
 		
 		strcpy((data + i)->seat, seat); //eeldusel et eelmine tsükkel 
 		//lõpetab kopeeritakse istekoht struktuurimassiivi
 		
 		strcpy(month, months[GetRand(0,monthPoolSize - 1)]); 
-		GenerateDateOfBirth(month, date);
-		strcpy((data + i)->dateOfBirth , date);
-		
+		GenerateDateOfBirth(month, date); //funktsioonis pannakse numbrid
+		strcpy((data + i)->dateOfBirth , date);//ja kuu kokku et saada
+										//formaadis sünnikuupäev
 		strcpy((data + i)->residency, residencies[GetRand(0,residencyPoolSize - 1)]);
 		
-		(data + i)->checkedIn = false;
+		(data + i)->checkedIn = false; //default kõigile
 		
-		email[0] = (data + i)->fName[0];
-		email[strlen(email)] = '.';
-		strcat(email,(data + i)->lName);
-		strcat(email, emails[GetRand(0,emailPoolSize - 1)]);
-		email(strlen(email)) = '\0';
-		printf("%s\n", email);
+		memset(mail, 0, sizeof(mail)); //tühjendab sõne enne uue meili loomist
+			
+		mail[0] = (data+i)->fName[0];
+		mail[strlen(mail)] = '.'; //emaili loomine, null terminaatoreid on
+		mail[strlen(mail)] = '\0';//palju et tagada strcati funktsionaalsus
+		strcat(mail,(data+i)->lName);
+		mail[strlen(mail)] = '\0';
+		strcat(mail, emails[GetRand(0, emailPoolSize - 1)]);
+		mail[strlen(mail)] = '\0';
+		printf("%s\n", mail);
+		strcpy((data+i)->email, mail);
 		
-		strcpy(email,"");
+		for(j = 0; j < 2; j++)
+		{
+			docNum[j] = letters[GetRand(0,23)];
+		}
+		for(j = 2; j < 9; j++)	//dokumendi numbri genereerimine
+		{
+			docNum[j] = '0' + GetRand(0,9) % 10;
+		}
+		docNum[9] = '\0';
+		strcpy((data+i)->documentNum, docNum);
+		
+		(data + i)->luggageClass = GetRand(0,3);
 	}
 	
 	
@@ -90,6 +100,7 @@ int main(void)
 
     return EXIT_SUCCESS;
 }
+
 void GenerateDateOfBirth(char *month, char *dateOB)
 {
 	
@@ -100,10 +111,12 @@ void GenerateDateOfBirth(char *month, char *dateOB)
 	
 	snprintf(temp, 5, "%d", date);
 	strcat(dob, temp);
+	dob[strlen(dob)] = '\0';
 	dob[strlen(dob)] = '.';
 	
 	
 	strcat(dob, month);
+	dob[strlen(dob)] = '\0';
 	dob[strlen(dob)] = '.';
 	
 	snprintf(temp, 5, "%d", year);
@@ -115,7 +128,7 @@ void GenerateDateOfBirth(char *month, char *dateOB)
 	
 	
 }
-int GetUniqueSeat(users *data, int len, const char *seats, int size, char *seat)
+int GetUniqueSeat(users *data, int len, char *seat)
 {
 
 	int match = 0; //Otsib kas on kellegil juba sama istekoht
@@ -147,9 +160,10 @@ void GenNames(users *data, int num)
 	
 	for (i = 0; i < num; i++)
 	{
-		fprintf(fp,"%s %s %s %s %s\n",(data + i)->fName,
-			(data + i)->lName,(data + i)->dateOfBirth, (data + i)->residency,
-			(data + i)->seat);
+		fprintf(fp,"%s %s %s %s %s %s %s %d\n",(data + i)->documentNum,
+			(data + i)->fName,(data + i)->lName,(data + i)->dateOfBirth,
+			(data + i)->email,(data + i)->residency, 
+			(data + i)->seat, (data + i)->luggageClass);
 	}
 
 	fclose(fp);