diff --git a/tracy/tracy/inc/read_script.h b/tracy/tracy/inc/read_script.h
index 202a66befae38b8cbe68a2a10bef9daecd188e37..e0a90e8aac83f50c06a3d4819c04519fbf1591f2 100644
--- a/tracy/tracy/inc/read_script.h
+++ b/tracy/tracy/inc/read_script.h
@@ -5,9 +5,7 @@
    char  CommandStr[max_str];   // bool flag name
    
  /***** parameters *******/
-   //particle coordinates
-   double _x, _px, _y, _py, _delta, _ctau;
-   long  _nmax; 
+  
     //RFVoltFlag
    double RFvolt;   // RF voltage
    
@@ -31,6 +29,18 @@
   //add coupling error to full/half quadrupoles
    long err_seed; 
    double err_rms;
+   
+    //start track particle coordinates; PrintTrackFlag
+   char _PrintTrack_track_file[max_str];
+   double _PrintTrack_x, _PrintTrack_px, _PrintTrack_y, 
+          _PrintTrack_py, _PrintTrack_delta, _PrintTrack_ctau;
+   long  _PrintTrack_nmax; 
+   
+   //twiss file 
+   char _PrintTwiss_twiss_file[max_str];
+   
+   char _PrintCOD_cod_file[max_str];
+  
   //AmplitudeTuneShiftFlag;
    char _AmplitudeTuneShift_nudx_file[max_str];
    char _AmplitudeTuneShift_nudz_file[max_str];
@@ -80,6 +90,17 @@
   //set default values
   UserCommand(void)   //constructor
  {  
+   /* start tracking coordinates */
+    strcpy(_PrintTrack_track_file,"track.out");
+    _PrintTrack_x = 0.001, _PrintTrack_px=0.0, _PrintTrack_y=0.0, 
+    _PrintTrack_py=0.0, _PrintTrack_delta=0.0, _PrintTrack_ctau=0.0;
+    _PrintTrack_nmax=50L; 
+   
+    /* twiss file */
+    strcpy(_PrintTwiss_twiss_file,"twiss.out");
+    
+    /*COD file*/
+    strcpy(_PrintCOD_cod_file,"printcod.out");
   
   // /* fmap for on momentum particle*/
    strcpy(_FmapFlag_fmap_file,"fmap.out");
diff --git a/tracy/tracy/src/read_script.cc b/tracy/tracy/src/read_script.cc
index d30d5ccd341ccb73b91935bf755aca37caf8a19c..86b659a29463356e6db68984b50c6c0d5e8c5329 100644
--- a/tracy/tracy/src/read_script.cc
+++ b/tracy/tracy/src/read_script.cc
@@ -28,12 +28,7 @@
 ****************************************************************************/
 
 /* files */ 
- //file with coordinates obtained by tracking
-char track_file[max_str];
- //twiss file
-char twiss_file[max_str];
- // cod file
-char cod_file[max_str];
+
 // girder file
 char girder_file[max_str];
 
@@ -209,25 +204,36 @@ void read_script(const char *param_file_name, bool rd_lat, long& CommNo, UserCom
       } 
        //print twiss parameters flag
       else if (strcmp("PrintTwissFlag", name) == 0){
-          sscanf(line, "%*s %s", twiss_file);
+         sscanf(line, "%*s %s",nextpara);
+	 
+	  if(strcmp(nextpara,"voidpara")!=0)
+            sscanf(line, "%*s %s", UserCommandFlag[CommNo]._PrintTwiss_twiss_file);
+	    
 	  strcpy(UserCommandFlag[CommNo].CommandStr,name);
       } 
        //print close orbit(COD) flag
       else if (strcmp("PrintCODFlag", name) == 0){
-          sscanf(line, "%*s %s", cod_file);
-	  strcpy(UserCommandFlag[CommNo].CommandStr,name);  
+        sscanf(line, "%*s %s",nextpara);
+	 
+	if(strcmp(nextpara,"voidpara")!=0)
+           sscanf(line, "%*s %s", UserCommandFlag[CommNo]._PrintCOD_cod_file);
+          
+	strcpy(UserCommandFlag[CommNo].CommandStr,name);  
       }
       //print the cooridinates using tracking at each element
       else if (strcmp("PrintTrackFlag", name) == 0){
-          sscanf(line, "%*s %s", track_file);
-	      sscanf(line, "%*s %*s %lf %lf %lf %lf %lf %lf %ld", 
-          		&(UserCommandFlag[CommNo]._x), 
-			&(UserCommandFlag[CommNo]._px),
-          		&(UserCommandFlag[CommNo]._y), 
-			&(UserCommandFlag[CommNo]._py), 
-			&(UserCommandFlag[CommNo]._delta), 
-			&(UserCommandFlag[CommNo]._ctau),
-			&(UserCommandFlag[CommNo]._nmax));
+	  sscanf(line, "%*s %s",nextpara);
+	 
+	  if(strcmp(nextpara,"voidpara")!=0)
+	    sscanf(line, "%*s %s %lf %lf %lf %lf %lf %lf %ld", 
+	                UserCommandFlag[CommNo]._PrintTrack_track_file,
+          		&(UserCommandFlag[CommNo]._PrintTrack_x), 
+			&(UserCommandFlag[CommNo]._PrintTrack_px),
+          		&(UserCommandFlag[CommNo]._PrintTrack_y), 
+			&(UserCommandFlag[CommNo]._PrintTrack_py), 
+			&(UserCommandFlag[CommNo]._PrintTrack_delta), 
+			&(UserCommandFlag[CommNo]._PrintTrack_ctau),
+			&(UserCommandFlag[CommNo]._PrintTrack_nmax));
 	  strcpy(UserCommandFlag[CommNo].CommandStr,name);
       }  
       //print close orbit(COD) flag