slight infrastructure change to accommodate c9
I changed this at some point.
squashed a couple of complier warnings
implemented duplicate-key avoidance. now updates data instead. implemented ability to count number of keys in hashmap