added some extended documentation on the router and base viewmodel