refactoring Ticker, still needs work