come refactor