refactor one