refactor ut