return nil if no contact found
domain operations