refactoring && highlight