use latest modules, and use new function semantics to make HTTPS work