separate each implementations,
add trie_multimap
close to complete a usable version