finish refactor contact