added hashmap impl