pass in a map, not a hashmap