master: add history, router and view