split router into router and views, should move start to router_client