diff --git a/userprog/argument_parsing.h b/userprog/argument_parsing.h
index 495f63428e5376880309167d5bd964651378772f..99ef71bba60f33a0a81e094ddcb7daca008429b0 100644
--- a/userprog/argument_parsing.h
+++ b/userprog/argument_parsing.h
@@ -17,6 +17,6 @@ int parse_arguments(const char* command_line, char***argv);
  * I have used stackPointer as the name as that makes sense inside populate_stack,
  * In process.c esp has been renamed to initialStackPointer
  */
-void populate_stack(void* stackPointer, int argc, char** argv);
+void populate_stack(void** stackPointer, int argc, char** argv);
 
 #endif /* userprog/argument_parsing.h */
diff --git a/userprog/process.c b/userprog/process.c
index 668584f6734ddea0e1951e4b6f6f65ac7881e432..a2ba3695e7dbe4e6426c042f4e11b2f6f65ddedb 100644
--- a/userprog/process.c
+++ b/userprog/process.c
@@ -68,7 +68,7 @@ start_process (void *file_name_)
   if_.cs = SEL_UCSEG;
   if_.eflags = FLAG_IF | FLAG_MBS;
 
-  success = load (file_name, &if_.eip, &if_.initialStackPointer);
+  success = load (file_name, &if_.eip, &if_.esp);
   
   /* If load failed, quit. */
   palloc_free_page (file_name);
@@ -228,7 +228,7 @@ load (const char *file_name, void (**eip) (void), void **initialStackPointer)
   struct thread *t = thread_current ();
   struct Elf32_Ehdr ehdr;
   struct file * = NULL;
-  off_t file_ofs;file
+  off_t file_ofs;
   bool success = false;
   int i;
 
@@ -456,7 +456,6 @@ setup_stack (void **initialStackPointer, char **argv, int argc)
       success = install_page (((uint8_t *) PHYS_BASE) - PGSIZE, kpage, true);
       if (success) {
         *initialStackPointer = PHYS_BASE - 12;
-		arr[]
       } else
         palloc_free_page (kpage);
     }