examples refactoring