refactored timer