GHP1 final version

Using ref parameters, using match function to check for uniqueness and
presence of key allows the program to take advantage of that pretty
solid function.