new main module: upstream/client