starting with Trie implementation