A trie implementation