revise operator== (hash and map)