abstract base url (not finished)