Refactor view, router and collection