Finish add contact, and my solution to David's challenge.