refactored timedInvoker