some improvements to timer