work and about refactoring