diff --git a/lago_file.h b/lago_file.h
index 4dcd8152c7b32e7668f79ebd07ceea2dc092d0c8..1855636652e83a2a9d5bbc40e6a0c4ae1e5ae0ec 100644
--- a/lago_file.h
+++ b/lago_file.h
@@ -148,7 +148,7 @@ class LagoFile {
           }
         }
         else { // reading pulse
-          int c0,c1,c2;
+          int c0=0, c1=0, c2=0;
           sscanf(line, "%d %d %d\n", &c0, &c1, &c2);
           Pulse[NbPulses].fill(c0,c1,c2);
         }
diff --git a/raw.cc b/raw.cc
index 676559aa57a306274216bd3e549b7708f841bd65..88d8c6178851bb58a53a88406425283c62c1048e 100644
--- a/raw.cc
+++ b/raw.cc
@@ -84,6 +84,8 @@ int qtr_default = 55; // defined by Luis Otiniano, using typical fluctuations at
 // SATURATED PEAKS
 int sat_level[CHANNELS];
 int sat_default = ADCMAX - 1;
+bool sat_discard = false;
+int sat_drop[CHANNELS];
 
 // TIME DIFFERENCE (AND ALSO ALL PULSE DATA) ANALYSIS
 int tim_pc = 0, tim_pt = 0, tim_dc = 0, tim_dt = 0;
@@ -107,6 +109,9 @@ double mon_avg_bl_tmp;
 double mon_dev_bl_tmp;
 int mon_bl_counts;
 
+// VERBOSITY
+int iverbose=0;
+
 // SOL variable time integration
 int iSolTime = 60; // default 60s
 
@@ -155,15 +160,16 @@ void TreatSecond(LagoGeneric *Data, LagoEvent*Pulse, int NbPulses) {
 	// processing pulses
 	for (int i=0; i<NbPulses; i++) {
 		// discard saturated and it is a saturated pulse?
-		int sat_drop = 0;
+		sat_discard = false;
 		if (isat) {
 			for (int j=0; j<CHANNELS; j++) {
 				if (Pulse[i].GetPeak(j) >= sat_level[j]) { // pulse is saturated
-					sat_drop++;
+					sat_drop[j]++;
+					sat_discard=true;
 				}
 			}
 		}
-		if (isat && sat_drop) 
+		if (isat && sat_discard)
 			continue;
 		
 		// impossing external trigger
@@ -414,7 +420,7 @@ void TreatSecond(LagoGeneric *Data, LagoEvent*Pulse, int NbPulses) {
 	}
 }
 
-void Usage(char *prog, int verbose=0)
+void Usage(char *prog)
 {
 	cout << "\t" << PROJECT << " " << CODEVERSION << endl;
 	cout << endl;
@@ -475,6 +481,7 @@ void Usage(char *prog, int verbose=0)
 	cout << "\t-i\tOnly include pulses that trigger each channel to fill" << endl; 
 	cout << "\t  \tthe calibration histograms of each channel (by default," << endl; 
 	cout << "\t  \tall pulses are included." << endl;
+	cout << "\t-V\tincrease verbosity level." << endl;
     cout << "\t-?\tprints this help and exits" << endl << endl;
 	cout << endl;
 	exit(1);
@@ -501,6 +508,8 @@ int main (int argc, char *argv[])
 				scl_scalers[i][j][l]=0;
 	for (int i = 0; i < CHANNELS; i++)
 		scl_flux[i] = 0;
+	for (int i = 0; i < CHANNELS; i++)
+		sat_drop[i] = 0;
 	for (int i = 0; i < CHANNELS; i++)
 		trg_level[i] = trg_default;
 	for (int i = 0; i < CHANNELS; i++)
@@ -617,6 +626,9 @@ int main (int argc, char *argv[])
 					iflx = 1;
 				}
 				break;
+			case 'V':
+				iverbose=1;
+				break;
 			case 'g':
 				isclg=1;
 				break;
@@ -736,6 +748,8 @@ int main (int argc, char *argv[])
 		snprintf(nfi,256,"%s.raw",ifile);
 		raw.open(nfi);
 	}
+	if (iverbose)
+		fprintf(stderr,"Verbose mode is on\n");
 
 	if (iall) {
 		snprintf(nfi,256,"bzip2 -9z > %s.all.bz2",ifile);
@@ -1056,4 +1070,12 @@ int main (int argc, char *argv[])
 		if (iscl)
 			fclose(scl);
 	}
+	if (iverbose) {
+		if (isat) {
+			fprintf(stderr, "INFO: saturated pulses discarded:\n\t\t");
+			for (int j=0; j<CHANNELS; j++)
+				fprintf(stderr, "channel %d: %d. ", j+1, sat_drop[j]);
+			fprintf(stderr, "\n");
+		}
+	}
 }