refactor 1