diff --git a/GETheader.c b/GETheader.c
new file mode 100644
index 0000000000000000000000000000000000000000..7cf041c77e54582a701975bbba0d17d346bc1a33
--- /dev/null
+++ b/GETheader.c
@@ -0,0 +1,65 @@
+#include "GETheader.h"
+#include <stdio.h>
+#include <string.h>
+
+
+
+int main(int argc, char const *argv[])
+{
+	char getrequest[BUFFERSIZE];
+	memset(getrequest, 0, BUFFERSIZE);
+	fread(getrequest, 1, BUFFERSIZE, stdin);
+
+	struct GET_header header;
+
+	parse_GET_request(getrequest, &header);
+
+	printf("%s\n", header.filepath);
+	printf("%s\n", header.httpversion);
+
+
+	return 0;
+}
+
+int parse_GET_request(char* message, struct GET_header* header){
+	char workingcopy[BUFFERSIZE];
+	char delimeter[6] = " \r\n\t\v";
+
+	strcpy(workingcopy, message);
+
+	char *get; 
+
+	if((get = strtok(workingcopy, delimeter))==NULL){
+		perror("NOT VALID");
+		header->status = BADREQUEST;
+		return -1;
+	}
+
+	if (strcmp(get, "GET") != 0)
+	{
+		perror("NOT VALID");
+		header->status = BADREQUEST;
+		return -1;
+	}
+
+	char *temp;
+	if((temp = strtok(NULL, delimeter)) == NULL){
+		perror("NOT VALID");
+		header->status = FILENOTFOUND;
+		return -1;
+	}
+
+	strcpy(header->filepath, temp);
+
+
+
+
+	if((temp = strtok(NULL, delimeter)) == NULL){
+		perror("NOT VALID");
+		header->status = BADREQUEST;
+		return -1;
+	}
+
+	strcpy(header->httpversion, temp);
+
+}
diff --git a/GETheader.h b/GETheader.h
new file mode 100644
index 0000000000000000000000000000000000000000..4b7d51285aa5b9c46592ef2455b785f2826f7f77
--- /dev/null
+++ b/GETheader.h
@@ -0,0 +1,25 @@
+#ifndef GETheader
+#define GETheader
+
+#define BUFFERSIZE 1000
+#define BADREQUEST 400
+#define FILENOTFOUND 404
+
+struct GET_header
+{
+	char httpversion[10];
+	int status;
+	char filepath[128];
+
+};
+
+
+int parse_GET_request(char* message, struct GET_header* header);
+
+
+
+
+
+
+
+#endif
\ No newline at end of file
diff --git a/sample b/sample
new file mode 100755
index 0000000000000000000000000000000000000000..90ae967dd8c8ad29b067d9a47f9f7361e88538d0
Binary files /dev/null and b/sample differ
diff --git a/server.h b/server.h
new file mode 100644
index 0000000000000000000000000000000000000000..decc240ebe946a64eefc218d941825dac3edeb77
--- /dev/null
+++ b/server.h
@@ -0,0 +1,6 @@
+#ifndef SERVER
+#define SERVER
+
+char root[32];
+
+#endif
\ No newline at end of file