refactoring and solution
rename