try refactor