requires HTTP::Cookies