move routing to viewmodel and add some style