add router + focus hook
make state idiomatic + use router
rewrote todomvc example