refactoring codes