hashmap first version