redesign of timer API, better matching specifications