generate URL if not available