add TimerThread class