failed to use loop to implement the clock, where in loop it will keep checking current system time and if it detects a second change, it will refresh the clock one time, this way, it will ensure each second and only within each second the clock ticks one time (event driven). However, in current code, it's time-driver that set the refresh process to run after a pre-set time. As the operation itself will consume time so the actual refresh interval will get longer even on very small scale, as deviations get accumulated, the actual tick time may jump two heart beats and it results in second hand moving two seconds on a tick.
The problem for loop is that when control goes in, it runs too fast and for some reason the GUI couldn't get initiated nor could the hands be displayed.
 Need to find other technique to implement the event-driven way