refactored PageProvider
added RoutesProvider (doesn't work)