hashmap now allows the insertion of smart_pointer