add seperate timer thread