eliminated some edge cases in timer factory