refactor TZ