extract UrlResolver as standalone service to make it easy testable