refactoring timers