timer drive programming framework