add open_url method