first pass on the router

Really, just a wrapper around the Trie + returing only the first match