about refactor