add react-router

rebase changes from master