diff --git a/garnet/bin/tennis/README.md b/garnet/bin/tennis/README.md
index fc81990..1e918e3 100644
--- a/garnet/bin/tennis/README.md
+++ b/garnet/bin/tennis/README.md
@@ -38,7 +38,7 @@
 Set your packages to include Tennis:
 
 ```
-fx set x64 --monolith garnet/packages/all,garnet/packages/experimental/disabled/tennis
+fx set core.x64 --with //garnet/bin/tennis
 fx build
 ```
 
diff --git a/garnet/examples/http/example_http_server/README.md b/garnet/examples/http/example_http_server/README.md
index 1e873de..73ae154 100644
--- a/garnet/examples/http/example_http_server/README.md
+++ b/garnet/examples/http/example_http_server/README.md
@@ -6,8 +6,8 @@
 ## Build
 
 ```
-$ fx set x64 --monolith garnet/packages/examples/http
-$ fx full-build
+$ fx set core.x64 --with //garnet/examples/http/example_http_server
+$ fx build
 ```
 
 ## Usage
diff --git a/garnet/examples/tcp/tcp_file_sender/README.md b/garnet/examples/tcp/tcp_file_sender/README.md
index d260c9c..4371407 100644
--- a/garnet/examples/tcp/tcp_file_sender/README.md
+++ b/garnet/examples/tcp/tcp_file_sender/README.md
@@ -5,8 +5,8 @@
 ## Build
 
 ```
-$ fx set x64 --monolith garnet/packages/examples/tcp
-$ fx full-build
+$ fx set core.x64 --with //garnet/examples/tcp/tcp_file_sender
+$ fx build
 ```
 
 ## Usage
diff --git a/garnet/lib/magma/docs/contributing.md b/garnet/lib/magma/docs/contributing.md
index 97ba326..a136732 100644
--- a/garnet/lib/magma/docs/contributing.md
+++ b/garnet/lib/magma/docs/contributing.md
@@ -71,8 +71,8 @@
 
 If you have an attached display, execute the spinning [vkcube](../../../lib/vulkan/tests/vkcube).
 This test uses an imagepipe swapchain to pass frames to the system compositor.  
-Build with --monolith garnet/packages/examples/vkcube_on_scenic.  
-Run the test with 'run fuchsia-pkg://fuchsia.com/present_view#meta/present_view.cmx fuchsia-pkg://fuchsia.com/vkcube_on_scenic#meta/vkcube_on_scenic.cmx'.
+Build with `--with garnet/packages/examples/vkcube_on_scenic`.
+Run the test with `run fuchsia-pkg://fuchsia.com/present_view#meta/present_view.cmx fuchsia-pkg://fuchsia.com/vkcube_on_scenic#meta/vkcube_on_scenic.cmx`.
 
 #### L2
 
diff --git a/peridot/docs/modular/guide/config.md b/peridot/docs/modular/guide/config.md
index 0d3963a..7bdd775 100644
--- a/peridot/docs/modular/guide/config.md
+++ b/peridot/docs/modular/guide/config.md
@@ -6,7 +6,7 @@
 the required configurations for `basemgr` and `sessionmgr` as detailed below.
 The configuration file should be packaged via the build rule `modular_config`,
 which will validate your file against a schema. You must then include the
-modular_config() target in the product's monolith packages.
+modular_config() target in the product's base packages.
 
 ## Example
 
diff --git a/peridot/tests/README.md b/peridot/tests/README.md
index b59f9b1..6004b43 100644
--- a/peridot/tests/README.md
+++ b/peridot/tests/README.md
@@ -39,7 +39,7 @@
   workstation, do:
 
 ```
-fx set x64 --monolith peridot/packages/products/test_modular
+fx set x64 --with-base //peridot/tests
 ```
 
 * Alternatively, invoke `test_runner` manually after starting fuchsia. In a
diff --git a/scripts/zsh-completion/_fx_oldset b/scripts/zsh-completion/_fx_oldset
deleted file mode 100644
index 456c191..0000000
--- a/scripts/zsh-completion/_fx_oldset
+++ /dev/null
@@ -1,83 +0,0 @@
-# _fx_oldset__board completes a board name
-_fx_oldset__board() {
-  compadd ${(u)$(echo ${fuchsia_dir}/boards/*.gni(N:t:r) ${fuchsia_dir}/vendor/*/boards/*.gni(N:t:r))}
-}
-
-# _fx_oldset__product completes a product name
-_fx_oldset__product() {
-  compadd ${(u)$(echo ${fuchsia_dir}/products/*.gni(N:t:r) ${fuchsia_dir}/vendor/*/products/*.gni(N:t:r))}
-}
-
-# _fx_oldset__package completes a package name
-_fx_oldset__package() {
-  compadd $(cd ${fuchsia_dir} >/dev/null 2>&1 && echo */packages/**/^*.*(.N) vendor/*/packages/**/^*.*(.N))
-}
-
-# _packages completes a comma separated list of packages
-_packages() {
-  # packages are files without extensions in */packages/ and vendor/*/packages/
-  _values -s , $(cd ${fuchsia_dir} >/dev/null 2>&1 && echo */packages/**/^*.*(.N) vendor/*/packages/**/^*.*(.N))
-}
-
-# _products completes a comma separated list of products
-_products() {
-  # products are .gni files in */products/ and vendor/*/products/
-  _values -s , $(cd ${fuchsia_dir} >/dev/null 2>&1 && echo */products/**/*.gni(.N) vendor/*/products/**/*.gni(.N))
-}
-
-_gn_args_caching_policy() {
-  test ${ninja_file} -nt $1
-}
-
-_gn_args() {
-  if [ -z ${fuchsia_build_dir} ]; then
-    return
-  fi
-
-  # apply a default caching policy if one isn't configured
-  local cache_policy
-  zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
-  zstyle ":completion:${curcontext}:" cache-policy \
-      ${cache_policy:-_gn_args_caching_policy}
-
-  # if this file is newer than the cache file then the cache is stale
-  local ninja_file=${fuchsia_dir}/${fuchsia_build_dir}/build.ninja
-
-  local -a gn_args
-  if ! _retrieve_cache gn_args ; then
-    gn_args=( $(${fuchsia_dir}/buildtools/gn args ${fuchsia_dir}/${fuchsia_build_dir} --list --short|sed -e 's/ .*//') )
-    _store_cache gn_args gn_args
-  fi
-
-  # complete the list of gn args with an = suffix
-  compadd -S = ${gn_args}
-}
-
-# list of supported fuchsia architectures
-local -a archs
-archs=(
-  'x64:64 bit Intel'
-  'arm64:64 bit ARM'
-)
-
-# TODO: --help-args --zircon-arg
-
-# arguments to fx oldset
-_arguments '1:arch:{_describe "arch" archs}' \
-  '2::build_dir:{__fx_build_dir}' \
-  '(:)--board[Use the listed board configuration]:board:_fx_oldset__board' \
-  '(:)--product[Include the listed product in the build]:product:_fx_oldset__product' \
-  '(:)*--available[Package to be available for pushing]:package:_fx_oldset__package' \
-  '(:)*--preinstall[Package to be included in the system image]:package:_fx_oldset__package' \
-  '(:)*--monolith[Package to be included in the monolithic system image]:package:_fx_oldset__package' \
-  '(:)*--variant[Pass a select_variant GN arg]: ' \
-  '(:)*--fuzz-with[A sanitizer name to fuzz with]: ' \
-  '(:)--args[Arguments for GN gen]:args:{_gn_args}' \
-  '(:)--goma[Use GOMA]' \
-  "(:)--no-goma[Don't use GOMA]" \
-  "(:)--no-ensure-goma[Don't make sure GOMA is running]" \
-  '(:)--goma-dir[GOMA directory to use]:directory:_files -/' \
-  "(:)--ccache[Use ccache]" \
-  "(:)--no-ccache[Don't use ccache]" \
-  '(:)--ide[Generate files for an IDE]:ide:(eclipse vs vs2013 vs2015 vs2017 xcode qcreator json)' \
-  '(:)--release[Release build]'
diff --git a/src/connectivity/network/netstack3/docs/HACKING.md b/src/connectivity/network/netstack3/docs/HACKING.md
index 233e68c..eeb6536 100644
--- a/src/connectivity/network/netstack3/docs/HACKING.md
+++ b/src/connectivity/network/netstack3/docs/HACKING.md
@@ -63,7 +63,7 @@
 **NOTE:** At the time of this writing, Netstack3 is not complete enough to allow
 for dynamic package download and install. So make sure that every package that
 you'll need is included in your `fx set` line using the `--with-base` argument,
-which will have those packages be part of the monolith system image.
+which will have those packages be part of the base system.
 
 ## Running
 
diff --git a/src/developer/crashpad_agent/README.md b/src/developer/crashpad_agent/README.md
index 6d27b63..4d48b61 100644
--- a/src/developer/crashpad_agent/README.md
+++ b/src/developer/crashpad_agent/README.md
@@ -27,7 +27,7 @@
 telling Crashpad to upload to a crash server and which server to upload to.
 
 ```sh
-(host)$ fx set --monolith garnet/packages/config/crashpad_upload_to_prod_server --product ...
+(host)$ fx set core.x64 --with garnet/packages/config:crashpad_upload_to_prod_server
 ```
 
 Then, after running each one of the helper programs (see commands in sections
diff --git a/src/virtualization/docs/README.md b/src/virtualization/docs/README.md
index a988175..566d7d3 100644
--- a/src/virtualization/docs/README.md
+++ b/src/virtualization/docs/README.md
@@ -1,4 +1,5 @@
 # Guest
+
 The `vmm` app enables booting a guest operating system using the Zircon
 hypervisor. The hypervisor and VMM are collectively referred to as "Machina".
 
@@ -10,15 +11,17 @@
 device.
 
 ## Build host system with the guest package
+
 Configure, build, and boot the guest package as follows:
 ```
-$ fx set S{ARCH} --monolith garnet/packages/default
-$ fx full-build
+$ fx set core.x64 --with-base //src/virtualization
+$ fx build
 $ fx pave
 ```
 Where `${ARCH}` is one of `x64` or `arm64`.
 
 ### Note for external developers
+
 (Googlers: You don't need to do this, the Linux images are downloaded from CIPD
 by jiri.)
 
@@ -54,6 +57,7 @@
 ```
 
 ## Running on QEMU
+
 Running a guest on QEMU on x64 requires kvm (i.e. pass `-k` to fx run):
 ```
 $ fx run -k
@@ -92,16 +96,18 @@
 $ guest launch (linux_guest|zircon_guest)
 ```
 
-## Running from Topaz
-To run from Topaz, configure the guest package as follows:
+## Running from Workstation
+
+To run from Workstation, configure the guest package as follows:
 ```
-$ fx set ${ARCH} --monolith topaz/packages/topaz,garnet/packages/default
+$ fx set workstation.x64 --with-base //src/virtualization
 ```
 
-After netbooting the guest packages can be launched from the system launcher as
+After booting the guest packages can be launched from the system launcher as
 `linux_guest` and `zircon_guest`.
 
 # Guest Configuration
+
 Guest systems can be configured by including a config file inside the guest
 package:
 ```
diff --git a/src/virtualization/packages/biscotti_guest/README.md b/src/virtualization/packages/biscotti_guest/README.md
index 926fbbe..10a12766 100644
--- a/src/virtualization/packages/biscotti_guest/README.md
+++ b/src/virtualization/packages/biscotti_guest/README.md
@@ -36,9 +36,9 @@
 
 ```
  (host) $ cd $FUCHSIA_DIR
- (host) $ fx set x64 --product "garnet/products/default" \
-                     --monolith "garnet/packages/experimental/disabled/biscotti"
- (host) $ fx full-build
+ (host) $ fx set core.x64 
+                     --with-base //src/virtualization,//src/virtualization/packages/biscotti_guest
+ (host) $ fx build
 ```
 
 ## Boot to Termina
diff --git a/src/virtualization/packages/debian_guest/README.md b/src/virtualization/packages/debian_guest/README.md
index f547e3e..e013180 100644
--- a/src/virtualization/packages/debian_guest/README.md
+++ b/src/virtualization/packages/debian_guest/README.md
@@ -11,9 +11,9 @@
 
 ```
 $ cd $FUCHSIA_DIR
-$ ./garnet/bin/guest/pkg/debian_guest/build-image.sh x64
-$ fx set x64 --monolith "garnet/packages/default,garnet/packages/experimental/disabled/debian_guest"
-$ fx full-build
+$ ./src/virtualization/packages/debian_guest/build-image.sh x64
+$ fx set core.x64 --with-base "//src/virtualization,//src/virtualization/packages/debian_guest"
+$ fx build
 $ fx pave
 ```
 
@@ -54,4 +54,4 @@
 $ cd $FUCHSIA_DIR
 $ ./garnet/bin/guest/pkg/debian_guest/mkcipd.sh x64
 $ ./garnet/bin/guest/pkg/debian_guest/mkcipd.sh arm64
-```
\ No newline at end of file
+```
diff --git a/zircon/system/utest/perftest/README.md b/zircon/system/utest/perftest/README.md
index f5ed963..5e3f414 100644
--- a/zircon/system/utest/perftest/README.md
+++ b/zircon/system/utest/perftest/README.md
@@ -15,7 +15,7 @@
 When using a Fuchsia build you must first ensure the right package is
 included. Try building with
 
-`fx set x64 --monolith garnet/packages/buildbot && fx full-build`
+`fx set core.x64 --with-base //bundles/buildbot:core && fx full-build`
 
 You can then run the tests with
 
