time class refactor