refactored to use url factory