diff --git a/src/userprog/process.c b/src/userprog/process.c
index 975278d1969214de140e79df099d75838a72807e..89350efe02c649492b01c2dac2a0285decd75462 100644
--- a/src/userprog/process.c
+++ b/src/userprog/process.c
@@ -41,16 +41,31 @@ process_execute (const char *file_name)
   /* Create a new thread to execute FILE_NAME. */
   tid = thread_create (file_name, PRI_DEFAULT, start_process, fn_copy);
 
-  // tokenisation code 
+  // tokenisation code  Mohamed2 Almarri (m2-almarri)
     char *file_name_extracted; /* this to get echo, exit, halt... commands as file name alone */
-    char *args1;
-    char *args2;
-    char *args3;
+    char *args1; // x
+    char *args2; // y
+    char *args3; // z
 
     char *token;
     char *saveptr;
 
     token = strtok_r(user_str, " ", &saveptr);
+    if (token != NULL) { // split string using strtok_r function
+        file_name_extracted = token;
+
+        token = strtok_r(NULL, " ", &saveptr);
+        args1 = token;
+
+        token = strtok_r(NULL, " ", &saveptr);
+        args2 = token;
+
+        token = strtok_r(NULL, " ", &saveptr);
+        args3 = token;
+    }
+    // tokenisation code  Mohamed2 Almarri (m2-almarri)
+
+    /* team members should handle these data and prepare it for task 2 in arguments passing */