               
               break; //for i
           }
-          else{// the string is not completed ... so I must wait more...
+          else{// the string is not completed ... so I must wait for more...
             break; // for i
           }
         }


char is_command_running;

char firmware_version[] = "2015.12.19.1";// year.month.day.built number

char current_buffer[65];


          int j = i + 1;
          for (; j < buffer_length && current_buffer[j] != '#'; j++);// parse until I find the termination char
          if (j < buffer_length){

              #ifdef DEBUG
                char tmp_str[64];
                strncpy(tmp_str, current_buffer + i, j - i);
                tmp_str[j - i] = 0;
                Serial.write("current command is=");
                Serial.write(tmp_str);
                Serial.println();
              #endif

             //parse_and_execute_commands(tmp_str, j - i);
             parse_and_execute_commands(current_buffer + i, j - i);
             
                    
              // remove the current executed command
              strcpy(current_buffer, current_buffer + j + 1);// not sure if this is good due to overlaps
