unified references to Contact struct so that we now use pointers everywhere, did some work on findValue