diff --git a/GETheader.h b/GETheader.h
index d289322a2b6cfadc2260d31c24ad0c13b0bc67a0..d513f894f286d65f905c9edd8790957c8ba1133b 100644
--- a/GETheader.h
+++ b/GETheader.h
@@ -1,9 +1,10 @@
 #ifndef GETheader
 #define GETheader
 
-#define BADREQUEST 400
+#define BADREQUEST 404
 #define FILENOTFOUND 404
 #define PATHLEN 128
+#define SUCCESS 200
 
 struct GET_header
 {
@@ -22,4 +23,4 @@ int parse_GET_request(char* message, struct GET_header* header);
 
 
 
-#endif
\ No newline at end of file
+#endif
diff --git a/form_response.c b/form_response.c
index b5ca6c95f37ee545b6fce9458927fb0161419454..27beb2d1018085b2fb053a64622caf9cb8b5e0ab 100644
--- a/form_response.c
+++ b/form_response.c
@@ -29,7 +29,7 @@ int formresponse(char buffer[BUFFERSIZE], struct RESP_header* header){
 
 	}
 
-	else if (header->status ==BADREQUEST)// 404 response header
+	else if (header->status ==FILENOTFOUND)// 404 response header
 	{
 		char status[4];
 		sprintf(status, "%d", header->status);
@@ -89,10 +89,12 @@ int sendresponse(int sockfd, struct GET_header* header){
 		break;
 		}
 		if(send(sockfd, buffer,n_bytes,0)<0){
+			fclose(fp);
 			return -1;	
 		}
 		
-	}
+	} 
+	fclose(fp);
 	return 0;
 
 	}
diff --git a/server b/server
index 66207235e8d64bc5162d48af204fdcdcbd9dca3d..274ca53cf8b925b3d8264ede36c87eaa4f758cb9 100755
Binary files a/server and b/server differ
diff --git a/server.c b/server.c
index 01d00bf7b36c729de961204b97a8f09b680bb42e..e4ae53f6e0e6d19cd4eed37f418855026b1682fc 100644
--- a/server.c
+++ b/server.c
@@ -63,7 +63,7 @@ int main(int argc, char *argv[]){
 	if(listen(sockfd,MAXUSER)<0){ //listens on that socket
 		perror("ERROR listening");
 		return 2;
-	
+}	
 
 
 	while(1){