diff --git a/Makefile b/Makefile
index de457ad..aba2a03 100644
--- a/Makefile
+++ b/Makefile
@@ -113,6 +113,7 @@
 	gofmt -w $@
 
 gen/echo.mojom.dart: mojom/mojom/examples/echo.mojom | mojo-env-check
+	cd dart-examples/echo && pub get
 	$(call MOJOM_GEN,$<,mojom,dart-examples/echo/lib/gen,dart,--generate-type-info)
 
 $(BUILD_DIR)/fortune_client.mojo: gen/go/src/mojom/examples/fortune/fortune.mojom.go
@@ -126,9 +127,10 @@
 	gofmt -w $@
 
 gen/fortune.mojom.dart: mojom/mojom/examples/fortune.mojom | mojo-env-check
+	cd dart-examples/fortune && pub get
 	$(call MOJOM_GEN,$<,mojom,dart-examples/fortune/lib/gen,dart,--generate-type-info)
 
-$(BUILD_DIR)/v23clientproxy.mojo: $(shell find $(PWD)/go/src/v.io/x/mojo/proxy/clientproxy -name *.go) | mojo-env-check
+$(BUILD_DIR)/v23clientproxy.mojo: $(shell find $(PWD)/go/src/v.io/x/mojo/proxy/clientproxy -name *.go) gen/go/src/mojom/v23clientproxy/v23clientproxy.mojom.go gen/go/src/mojo/public/interfaces/bindings/mojom_types/mojom_types.mojom.go | mojo-env-check
 	$(call MOGO_BUILD,v.io/x/mojo/proxy/clientproxy,$@)
 
 $(BUILD_DIR)/v23serverproxy.mojo: $(shell find $(PWD)/go/src/v.io/x/mojo/proxy/serverproxy -name *.go) gen/go/src/mojom/v23serverproxy/v23serverproxy.mojom.go | mojo-env-check
@@ -186,13 +188,12 @@
 	--config-file $(PWD)/mojoconfig \
 	--shell-path $(MOJO_SHELL) \
 	$(ANDROID_FLAG) \
-  	--enable-multiprocess \
-  	--config-alias V23PROXY_DIR=$(PWD) \
-  	--config-alias V23PROXY_BUILD_DIR=$(BUILD_DIR) \
-  	"--args-for=https://mojo.v.io/$1 $(ARGS) $(V23_MOJO_FLAGS)" \
-  	"--args-for=mojo:dart_content_handler --enable-strict-mode" \
-  	$(ORIGIN_FLAG)
-	$(MOJO_SHELL_FLAGS)
+	$(MOJO_SHELL_FLAGS) \
+	--config-alias V23PROXY_DIR=$(PWD) \
+	--config-alias V23PROXY_BUILD_DIR=$(BUILD_DIR) \
+	--args-for="https://mojo.v.io/$1 $(ARGS) $(V23_MOJO_FLAGS)" \
+	--args-for="mojo:dart_content_handler --enable-strict-mode" \
+	$(ORIGIN_FLAG)
 endef
 
 # Start the v23proxy (server-side). This runs the v23proxy in its own shell and
diff --git a/README.md b/README.md
index 49ee923..7a91283 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,16 @@
 [here](https://docs.google.com/a/google.com/document/d/17cMUkwolbQphimAYdyVNBCzA_f-HZy3YcxEpKOAmw48/edit?usp=sharing)
 that enables communication between Mojo applications on different devices.
 
+## Prerequisites
+
+You must have the `jiri` tool installed with the `base` and `mojo` v23-profiles.
+
+To update v23proxy to the latest version of mojo, you will need to also have
+the `mojo-dev` profile.
+
 ## Quick start
 
+You must always `make build` first. (The Makefile is not very good currently.)
 - For desktop: `make build`
 - For android: `ANDROID=1 make build`
 
@@ -17,4 +25,9 @@
 You can also run these with Android devices. Use an `ANDROID={N}` prefix to run on
 the `Nth` Android device connected to your machine. `N` must be a positive integer.
 
-Note: To run these examples, the devices used must run mojo_shell on the same local network.
\ No newline at end of file
+Note: To run these examples, the devices used must run mojo_shell on the same local network.
+
+## Updating v23proxy to the latest version of mojo
+
+Prefix all commands with `USE_MOJO_DEV_PROFILE=1` in order to run with the
+`mojo-dev` profile instead of `mojo`.
\ No newline at end of file
diff --git a/dart-examples/echo/lib/main.dart b/dart-examples/echo/lib/main.dart
index 1670564..c572b3e 100644
--- a/dart-examples/echo/lib/main.dart
+++ b/dart-examples/echo/lib/main.dart
@@ -8,7 +8,6 @@
 import 'gen/dart-gen/mojom/lib/mojo/examples/echo.mojom.dart';
 import 'package:v23proxy/client.dart' as v23proxy;
 import 'package:mojo/application.dart';
-import 'package:mojo/bindings.dart';
 import 'package:mojo/core.dart';
 
 class Echo extends Application {
diff --git a/dart-examples/fortune/lib/main.dart b/dart-examples/fortune/lib/main.dart
index 227e6d8..2191686 100644
--- a/dart-examples/fortune/lib/main.dart
+++ b/dart-examples/fortune/lib/main.dart
@@ -8,7 +8,6 @@
 import 'gen/dart-gen/mojom/lib/mojo/examples/fortune.mojom.dart';
 import 'package:v23proxy/client.dart' as v23proxy;
 import 'package:mojo/application.dart';
-import 'package:mojo/bindings.dart';
 import 'package:mojo/core.dart';
 
 class Fortune extends Application {
diff --git a/lib/client.dart b/lib/client.dart
index dd4cd0c..7ebb87c 100644
--- a/lib/client.dart
+++ b/lib/client.dart
@@ -4,7 +4,7 @@
 
 library v23proxy;
 
-import 'gen/dart-gen/mojom/lib/mojo/bindings/types/v23proxy.mojom.dart';
+import 'gen/dart-gen/mojom/lib/mojo/bindings/types/v23clientproxy.mojom.dart';
 
 import 'package:mojo/application.dart' as application;
 import 'package:mojo/bindings.dart' as bindings;
@@ -17,8 +17,8 @@
   core.MojoMessagePipe pipe = new core.MojoMessagePipe();
   proxy.impl.bind(pipe.endpoints[0]);
 
-  V23Proxy v23proxy = new V23Proxy.unbound();
-  app.connectToService("https://mojo.v.io/v23proxy.mojo", v23proxy);
+  V23ClientProxyProxy v23proxy = new V23ClientProxyProxy.unbound();
+  app.connectToService("https://mojo.v.io/v23clientproxy.mojo", v23proxy);
 
   // Due to mojom type generation limitations, the proxy may not always have
   // a service description. To avoid issues with dartanalyzer, we use 'dynamic'.
@@ -28,7 +28,10 @@
   // This is a service_describer.ServiceDescription.
   var serviceDescription = dynproxyimpl.serviceDescription;
 
-  v23proxy.ptr.setupProxy(v23Name, serviceDescription.getTopLevelInterface(),
-    serviceDescription.getAllTypeDefinitions(), proxy.name,
+  v23proxy.ptr.setupClientProxy(
+    v23Name,
+    serviceDescription.getTopLevelInterface(),
+    serviceDescription.getAllTypeDefinitions(),
+    proxy.serviceName,
     pipe.endpoints[1]);
 }
diff --git a/mojoconfig b/mojoconfig
index c20d5fc..0a0e9d9 100644
--- a/mojoconfig
+++ b/mojoconfig
@@ -9,8 +9,8 @@
         ('', [
           # For v23proxy.mojo.
           '@{V23PROXY_BUILD_DIR}',
-          # For examples.
-          '@{V23PROXY_DIR}/example'
+          # For dart examples.
+          '@{V23PROXY_DIR}'
         ]),
       ],
     },
diff --git a/mojom/mojom/v23serverproxy.mojom b/mojom/mojom/v23serverproxy.mojom
index a26855d..9d1b16c 100644
--- a/mojom/mojom/v23serverproxy.mojom
+++ b/mojom/mojom/v23serverproxy.mojom
@@ -5,8 +5,6 @@
 module mojo.bindings.types;
 //module v23proxy; // TODO(bprosnitz) Ideally, this would be in v23proxy. This is in mojo.bindings.types because importing across modules is broken in mojo.
 
-import "mojo/public/interfaces/bindings/mojom_types.mojom";
-
 [ServiceName="v23::v23proxy::V23ServerProxy"]
 interface V23ServerProxy {
   // Endpoints gets the endpoints that the v23proxy serves at.
