refactor refactor