requires presence of url