routes refactor, now with promises to use with loading states, and data fetching on the route views