refactoring contact