getOrFetch method now returns a promise
added loading view to the product and category routes