refactoring Tick