 
 
 
-char* dynamic_array_serial(SoftwareSerial*, int, char, char);
-boolean string_pattern_checker(char*,char*);
+char* dynamic_array_serial(SoftwareSerial*, int, char, char);//serial, maximum storge, start_char, terminator
+char* substring_reader(char*,int,char,char);//Src, maximum, start_char, terminator
+boolean string_pattern_checker(char*,char*);//string, pattern
 //----------------------------Setup Code-----------------------------------------------//
 void setup() {
   //Define all motor pins as output

  }
  else return NULL;
}
boolean string_pattern_checker(char* string,char* pattern){
  for(int i=0;i<MAX_BUFFER_SIZE;i++){
    if (pattern[i]==NULL) return true;
    if (pattern[i]!=string[i]) return false;
  }
}

    Serial.print(gpsbuffer[i]);
  }
  Serial.println();
  gpstime=substring_reader(gpsbuffer,MAX_BUFFER_SIZE,',',',');
  //Serial.println();
  array_length = 1;
  free(gpsbuffer);
  delay(1000);//Waiting for bytes to fill IO buffer
}
char* dynamic_array_serial(SoftwareSerial src, int max_length, char start_char, char terminator) {
  src.listen();//Open serial
  while (src.available() <= 10); //Waiting for bytes to fill buffer, set 10 in order to allow more bytes loaded in buffer
  while (src.read() != start_char); //Waiting for the start char
  extern int array_length;//Use global varible to store length
  //Serial.println("Successful");
  //Serial.println(array_length); //Testing
  if (src.available() > 0) {
