add trie.go and trie_test.go