diff --git a/GETheader.c b/GETheader.c
index a51c9eb13dfa2858edf3e50feb01375939321e44..7185d8c90ba36de246f46c37e327efbba4c8deb2 100644
--- a/GETheader.c
+++ b/GETheader.c
@@ -6,27 +6,7 @@
 
 
 
-/*int main(int argc, char const *argv[])
-{
-	char getrequest[BUFFERSIZE];
-	root = "/home/neeserg/Dropbox/CompSys/practice";
-	memset(getrequest, 0, BUFFERSIZE);
-	fread(getrequest, 1, BUFFERSIZE, stdin);
-	
-	struct GET_header header;
 
-	parse_GET_request(getrequest, &header);
-	printf("%s\n", header.filepath);
-	sendresponse(0, &header);
-
-
-
-	
-
-
-	return 0;
-}
-*/
 int parse_GET_request(char* message, struct GET_header* header){
 	char workingcopy[BUFFERSIZE];
 	char delimeter[6] = " \r\n\t\v";
@@ -35,13 +15,13 @@ int parse_GET_request(char* message, struct GET_header* header){
 
 	char *get; 
 
-	if((get = strtok(workingcopy, delimeter))==NULL){
+	if((get = strtok(workingcopy, delimeter))==NULL){//there is anything
 		perror("NOT VALID");
 		header->status = BADREQUEST;
 		return -1;
 	}
 
-	if (strcmp(get, "GET") != 0)
+	if (strcmp(get, "GET") != 0)//check if it has a get
 	{
 		perror("NOT VALID");
 		header->status = BADREQUEST;
@@ -49,7 +29,7 @@ int parse_GET_request(char* message, struct GET_header* header){
 	}
 
 	char *temp;
-	if((temp = strtok(NULL, delimeter)) == NULL){
+	if((temp = strtok(NULL, delimeter)) == NULL){ //checks for file path
 		perror("NOT VALID");
 		header->status = FILENOTFOUND;
 		return -1;
@@ -57,7 +37,7 @@ int parse_GET_request(char* message, struct GET_header* header){
 	memset(header->filepath, 0, PATHLEN);
 	strcat(header->filepath, root);
 	strcat(header->filepath, temp);
-
+	//saves the file path
 
 
 
diff --git a/form_response.c b/form_response.c
index c0b3a42eeed6f3910c2a6578520214567235d843..b5ca6c95f37ee545b6fce9458927fb0161419454 100644
--- a/form_response.c
+++ b/form_response.c
@@ -16,7 +16,7 @@ int formresponse(char buffer[BUFFERSIZE], struct RESP_header* header){
 	strcat(buffer, header->httpversion);
 	strcat(buffer, " ");
 
-	if(header->status == 200){
+	if(header->status == SUCCESS){//form responce header if it is valid
 		char status[4];
 		sprintf(status, "%d", header->status);
 		strcat(buffer, status);
@@ -29,7 +29,7 @@ int formresponse(char buffer[BUFFERSIZE], struct RESP_header* header){
 
 	}
 
-	else if (header->status ==404)
+	else if (header->status ==BADREQUEST)// 404 response header
 	{
 		char status[4];
 		sprintf(status, "%d", header->status);
@@ -38,7 +38,7 @@ int formresponse(char buffer[BUFFERSIZE], struct RESP_header* header){
 		return 1;
 	}
 
-	else{
+	else{ // other response header
 		char status[4];
 		sprintf(status, "%d", header->status);
 		strcat(buffer, status);
@@ -58,13 +58,13 @@ int sendresponse(int sockfd, struct GET_header* header){
 	if (fp == NULL)
 	{
 		strcpy(resphead.httpversion, header->httpversion);
-		resphead.status = 404;
+		resphead.status = BADREQUEST;
 		formresponse(buffer, &resphead);
 		return send(sockfd, buffer, strlen(buffer), 0);
-	}
+	}// sends the 404 response
 
 	else{
-		resphead.status = 200,
+		resphead.status = SUCCESS;
 		strcpy(resphead.httpversion, header->httpversion);
 
 		fseek(fp, 0, SEEK_END);
@@ -77,9 +77,11 @@ int sendresponse(int sockfd, struct GET_header* header){
 			return send(sockfd, buffer,strlen(buffer), 0);
 		}
 		formresponse(buffer, &resphead);
+
 		if(send(sockfd, buffer,strlen(buffer), 0)<0){
 			return -1;	
 			}
+			//sends the desired file
 	while(!feof(fp)){
 		memset(buffer, 0, BUFFERSIZE);
 		int n_bytes = fread(buffer, 1, BUFFERSIZE, fp);
@@ -98,7 +100,7 @@ int sendresponse(int sockfd, struct GET_header* header){
 	return -1;
 }
 
-
+//determining mime type
 int getfiletype(const char *filepath, struct RESP_header* resphead){
 	if (strstr(filepath, htmlext) != NULL)
 	{
diff --git a/server.c b/server.c
index ede5a95754fee01df857abe93019767805ee5db9..01d00bf7b36c729de961204b97a8f09b680bb42e 100644
--- a/server.c
+++ b/server.c
@@ -8,26 +8,36 @@
 void* handleclient(void * newsockfd);
 
 int main(int argc, char *argv[]){
-	struct addrinfo info, *res, *p;
-	int sockfd, newsockfd;
-	struct sockaddr_storage clien_addr;
-	socklen_t clien_size;
+
+	struct addrinfo info, *res, *p;//struct to hold all the server adress info
+	int sockfd, newsockfd;//socket number to hold socket ids
+	struct sockaddr_storage clien_addr;//holds client adress info
+	socklen_t clien_size; //size of clien adress
+	
+
+
 	if (argc <3){
 		fprintf(stderr,"ERROR, no port provided\n");//to check if there is no port provided at start
 		exit(1);
 	}
-	strcpy(root, argv[2]);
+	strcpy(root, argv[2]);// sets root directory
 	memset(&info, 0, sizeof(info));
+
+
+
+
 	info.ai_family = AF_UNSPEC; ///sets it to unspecified
 	info.ai_socktype = SOCK_STREAM; //TCP connection stream oriented
 	info.ai_flags = AI_PASSIVE; //listen on on all ip interface of machine
 	info.ai_protocol = 0; //set this to zero as default
 
-	if((getaddrinfo(NULL, argv[1], &info, &res) != 0)){
+	if((getaddrinfo(NULL, argv[1], &info, &res) != 0))// gets a lnked list of adress infos
+	{
 		fprintf(stderr,"ERROR, no port provided\n");//to check if getaddrinfo gets any addrinfos
 		exit(1);
 	}
 
+	//loops through the linked list for a connection
 	for (p = res; p!= NULL; p = p->ai_next)
 	{
 		if((sockfd = socket(p-> ai_family, p->ai_socktype, p->ai_protocol)) < 0){
@@ -44,35 +54,37 @@ int main(int argc, char *argv[]){
 		break;
 	}
 
-	if (p == NULL)
+	if (p == NULL)//if no connection established
 	{
 		perror("ERROR on creating and binding");
 		return 2;
 	}
 
-	if(listen(sockfd,MAXUSER)<0){
+	if(listen(sockfd,MAXUSER)<0){ //listens on that socket
 		perror("ERROR listening");
 		return 2;
-	}
+	
 
 
 	while(1){
 		clien_size = sizeof (clien_addr);
+		//accepts connections, opening a new scoket for sending and recieving
 
-		if((newsockfd = accept(sockfd, (struct sockaddr *) &clien_addr, &clien_size)) < 0){
+		if((newsockfd = accept(sockfd, (struct sockaddr *) &clien_addr, &clien_size)) < 0)
+		{
 			perror("ERROR accepting");
 			return 3;
 		}
 
 		pthread_t tid;
 
-		if (pthread_create(&tid, NULL, handleclient, &newsockfd) <0)
+		if (pthread_create(&tid, NULL, handleclient, &newsockfd) <0)//create a worker thread
 		{
 			perror("ERROR creating thread");
 			return 3;
 		}
 
-		pthread_detach(tid);
+		pthread_detach(tid);// free all the resource associated with thread
 
 	}
 
@@ -92,6 +104,7 @@ void* handleclient(void * newsockfd){
 	char buffer[BUFFERSIZE];
 	bzero(buffer, BUFFERSIZE);
 
+	//recieve the message
 	if ((numbytes = recv(sockfd, buffer, BUFFERSIZE, 0)) <0)
 	{
 		perror("ERROR recieving");
@@ -99,9 +112,10 @@ void* handleclient(void * newsockfd){
 		return NULL;
 	}
 	struct GET_header header;
-
+	//parse the message
 	parse_GET_request(buffer, &header);
 
+	//send the appropriate message according to get response
 	if (sendresponse(sockfd, &header) <0)
 	{
 		perror("ERROR sending");