updated routing, refactored to ease unit testing view models