contact refactored