use a hashmap