review refactor