diff --git a/datatop/src/datatop.c b/datatop/src/datatop.c
old mode 100644
new mode 100755
index 60253d7..47c2f03
--- a/datatop/src/datatop.c
+++ b/datatop/src/datatop.c
@@ -54,6 +54,9 @@
 #include "datatop_polling.h"
 #include "datatop_gen_poll.h"
 
+
+#define DTOP_SEC_TO_USEC(x) ((x)*1000000)
+#define DTOP_USEC_TO_SEC(x) ((x)/1000000)
 struct dtop_linked_list *first_dpg_list;
 struct cli_opts usr_cl_opts;
 
@@ -99,8 +102,8 @@
 	struct timeval ftime, itime, polltime;
 
 	gettimeofday(&tv, NULL);
-	curtime = tv.tv_sec;
-	endtime = tv.tv_sec + usr_cl_opts.poll_time;
+	curtime = DTOP_SEC_TO_USEC(tv.tv_sec)+tv.tv_usec;
+	endtime = DTOP_SEC_TO_USEC(tv.tv_sec)+ DTOP_SEC_TO_USEC(usr_cl_opts.poll_time);
 
 	/* print all of our datapoint names as column headers in csv format */
 	if (fprintf(fw, "\"Time\",") < 0)
@@ -122,8 +125,8 @@
 		|| usr_cl_opts.poll_time == POLL_NOT_SPECIFIED) {
 		FD_ZERO(&rfds);
 		FD_SET(0, &rfds);
-		timeout.tv_sec = usr_cl_opts.poll_per;
-		timeout.tv_usec = 0;
+		timeout.tv_sec = DTOP_USEC_TO_SEC(usr_cl_opts.poll_per);
+		timeout.tv_usec = (usr_cl_opts.poll_per%1000000);
 		//ftime is right before timeout calculations for most acurate calculations
 		gettimeofday(&ftime, NULL);
 		timersub(&ftime, &itime, &polltime);
@@ -146,13 +149,13 @@
 				dtop_print_snapshot_diff(first_dpg_list);
 		}
 		gettimeofday(&tv, NULL);
-		curtime = tv.tv_sec;
+		curtime = DTOP_SEC_TO_USEC(tv.tv_sec)+tv.tv_usec;
 		dtop_poll(dpg_list);
-		printf("Polled at %ld.%06ld\n", tv.tv_sec, tv.tv_usec);
 		if (dtop_print_time_at_poll(fw) == FILE_ERROR)
 			return FILE_ERROR;
 		if (dtop_write_pollingdata_csv(dpg_list, fw) == FILE_ERROR)
-			return FILE_ERROR;
+		        return FILE_ERROR;
+		        
 	}
 
 	if (quit != QUIT)
@@ -210,6 +213,9 @@
 	dtop_dual_line_init("/proc/net/snmp");
 	dtop_single_line_init("/proc/net/snmp6");
 	dtop_gen_init("/proc/sys/net/");
+	dtop_gen_init("/sys/module/rmnet/parameters/");
+	dtop_gen_init("/sys/module/rmnet_perf/parameters/");
+	dtop_gen_init("/sys/module/rmnet_shs/parameters/");
 	dtop_gen_init("/sys/module/rmnet_data/parameters/");
 	dtop_gen_init("/sys/class/net/rmnet_mhi0/statistics/");
 	dtop_gen_init("/sys/class/net/usb_rmnet0/statistics/");
diff --git a/datatop/src/datatop_opt.c b/datatop/src/datatop_opt.c
old mode 100644
new mode 100755
index b10f593..1816a27
--- a/datatop/src/datatop_opt.c
+++ b/datatop/src/datatop_opt.c
@@ -108,9 +108,9 @@
 
 		case 'i':
 			clopts->poll_per = strtol(optarg, 0, 10);
-			if (clopts->poll_per <= 0) {
+			if (clopts->poll_per < 200000) {
 				printf("Argument for -i is not valid. ");
-				printf("Must be positive integer.\n");
+				printf("Must be atleast 200000\n");
 				goto error;
 			}
 		break;
@@ -191,7 +191,7 @@
 {
 	printf("The following datatop commands are:\n");
 	printf("\t-p\t\t\tPrint output to terminal\n");
-	printf("\t-i , seconds\t\tSpecify polling period\n");
+	printf("\t-i , u-seconds\t\tSpecify polling period \n");
 	printf("\t-t , seconds\t\tSpecify polling duration\n");
 	printf("\t-w , file name (.csv)\tWrite output to a file\n");
 	printf("\t-s , file name\t\tPrint system snapshot to a file\n");
diff --git a/datatop/src/datatop_opt.h b/datatop/src/datatop_opt.h
old mode 100644
new mode 100755
index a1ad288..c7be0d0
--- a/datatop/src/datatop_opt.h
+++ b/datatop/src/datatop_opt.h
@@ -39,7 +39,7 @@
 
 #define OPT_CHOSE             1
 #define OPT_NOT_CHOSE         0
-#define DEFAULT_POLL_INTERVAL 1
+#define DEFAULT_POLL_INTERVAL 1000000
 #define POLL_NOT_SPECIFIED   -1
 #define POLL_TIME_DEFAULT     30
 #define POLL_TIME_SELECTED     1
