Version 0.2 (add clock info)
diff --git a/powerdebug.c b/powerdebug.c
index a7b37c2..1417cb2 100644
--- a/powerdebug.c
+++ b/powerdebug.c
@@ -19,7 +19,8 @@
 
 int numregulators;
 int dump;
-int ticktime=3;  /* in seconds */
+int highlighted_row;
+double ticktime = 10.0;  /* in seconds */
 
 int init_regulator_ds(void)
 {
@@ -230,12 +231,14 @@
 {
 	int c;
 	int firsttime = 1;
-	int regulators = 0, sensors = 0, verbose = 0;
+	int regulators = 0, sensors = 0, clocks = 0, verbose = 0;
 
 	/*
 	 * Options:
 	 * -r, --regulator	: regulator
 	 * -s, --sensor		: sensors
+	 * -c, --clock		: clocks
+	 * -t, --time		: ticktime
 	 * -d, --dump		: dump
 	 * -v, --verbose	: verbose
 	 * -V, --version	: version
@@ -248,6 +251,8 @@
 		static struct option long_options[] = {
 			{"regulator", 0, 0, 'r'},
 			{"sensor", 0, 0, 's'},
+			{"clock", 0, 0, 'c'},
+			{"time", 0, 0, 't'},
 			{"dump", 0, 0, 'd'},
 			{"verbose", 0, 0, 'v'},
 			{"version", 0, 0, 'V'},
@@ -255,7 +260,7 @@
 			{0, 0, 0, 0}
 		};
 
-		c = getopt_long(argc, argv, "rsdvVh", long_options, &optindex);
+		c = getopt_long(argc, argv, "rsct:dvVh", long_options, &optindex);
 		if (c == -1)
 			break;
 
@@ -266,6 +271,12 @@
 			case 's':
 				sensors = 1;
 				break;
+			case 'c':
+				clocks = 1;
+				break;
+			case 't':
+                                ticktime = strtod(optarg, NULL);
+				break;
 			case 'd':
 				dump = 1;
 				break;
@@ -290,7 +301,7 @@
 
 
 	/* Need atleast one option specified */
-	if (!regulators && !sensors) {
+	if (!regulators && !sensors && !clocks) {
 		usage(argv);
 	}
 
@@ -300,6 +311,7 @@
 		int key = 0;
 		struct timeval tval;
 		fd_set readfds;
+                int row = 1;
 
 		if (!dump) {
 			if(firsttime) {
@@ -312,15 +324,30 @@
 	
 		if (regulators) {
 			read_regulator_info();
-			if (!dump)
+			if (!dump) {
+                                row = create_regulator_win(row,
+numregulators+2);
 				show_regulator_info(verbose);
+                        }
 			else
 				print_regulator_info(verbose);
 		}
 
+                if (clocks && !dump) {
+                        int hrow;
+                        row = create_clock_win(row, 100);//giv big no.as of now
+                        hrow = read_and_print_clock_info(verbose,
+                                                         highlighted_row);
+                        highlighted_row = hrow;
+                }
 
 		if (sensors) {
-			read_and_print_sensor_info(verbose);
+                        if (!dump) {
+                                row = create_sensor_win(row, 100);//big no. as of now
+                                print_sensor_header();
+                        }
+                        else
+			        read_and_print_sensor_info(verbose);
 		}
 
 		if (dump)
@@ -340,7 +367,20 @@
 			if (keystroke == EOF)
 				exit(0);
 
+                        if (keystroke == 9)
+                                highlighted_row++;
+
 			keychar = toupper(keystroke);
+#ifdef DEBUG_KEY
+                        if (keystroke == 13) {
+                        killall_windows();
+                        fini_curses();
+                        printf("powerdebug: key=%d : char=%c\n", keystroke, keychar);
+                               printf("highlighted_row = %d\n", highlighted_row);
+                        exit(0);
+                        }
+#endif
+
 			if (keychar == 'Q')
 				exit(0);
 			if (keychar == 'R')