diff --git a/bundle.yaml b/bundle.yaml
index 12cd9b4da75e8acc48c132af712418f37d2b979f..beb54c48c18d9cb8dca1c62cae68dfc02e8a6588 100644
--- a/bundle.yaml
+++ b/bundle.yaml
@@ -1,8 +1,8 @@
 ##
-# The server nodes to be used should be tagged as 'kubernetes'.
-# At least one of them should also be tagged as 'public-ip', to denote a machine configured with
+# The worker nodes to be used should be tagged as 'kubernetes'.
+# One server should be tagged as 'kubernetes-public-ip', to denote a machine configured with
 # a public IP.
-# The server nodes with GPUs should be tagged also as 'gpu'.
+# The worker nodes with GPUs should be tagged as 'gpu'.
 ##
 
 series: xenial
@@ -19,18 +19,6 @@ machines:
   "2":
     series: xenial
     constraints: "tags=kubernetes"
-  "3":
-    series: xenial
-    constraints: "tags=kubernetes-public-ip"
-  "4":
-    series: xenial
-    constraints: "cores=4 mem=4G tags=kubernetes"
-  "5":
-    series: xenial
-    constraints: "cores=4 mem=4G tags=kubernetes"
-  "6":
-    series: xenial
-    constraints: "cores=4 mem=4G tags=kubernetes"
 
 # ----------------------------------------------------------------------
 services:
@@ -45,19 +33,17 @@ services:
     annotations:
       gui-x: '450'
       gui-y: '550'
-    # charm: cs:~containers/easyrsa-27
     charm: cs:~containers/easyrsa-30
     num_units: 1
     bindings:
       "": space-os-mgmt
     to:
-      - "lxd:kubernetes-master"
+      - "lxd:kubernetes-master/0"
 
   etcd:
     annotations:
       gui-x: '800'
       gui-y: '550'
-    # charm: cs:~containers/etcd-63
     charm: cs:~containers/etcd-69
     num_units: 3
     # constraints: tags=kubernetes
@@ -72,7 +58,6 @@ services:
     annotations:
       gui-x: '450'
       gui-y: '750'
-    # charm: cs:~containers/flannel-40
     charm: cs:~containers/flannel-44
     bindings:
       "": space-os-mgmt
@@ -81,7 +66,6 @@ services:
     annotations:
       gui-x: '450'
       gui-y: '250'
-    # charm: cs:~containers/kubeapi-load-balancer-43
     charm: cs:~containers/kubeapi-load-balancer-52
     expose: true
     num_units: 1
@@ -95,42 +79,38 @@ services:
     annotations:
       gui-x: '800'
       gui-y: '850'
-    # charm: cs:~containers/kubernetes-master-78
     charm: cs:~containers/kubernetes-master-87
-    # charm: "cs:~tvansteenburgh/kubernetes-master"
     num_units: 1
-    # constraints: tags=kubernetes,public-ip
+    constraints: tags=kubernetes-public-ip
     options:
       channel: 1.9/stable
       # authorization-mode: Node,RBAC
       enable-dashboard-addons: True
-    to:
-      - "3"
 
   kubernetes-worker:
     annotations:
       gui-x: '100'
       gui-y: '850'
-    # charm: cs:~containers/kubernetes-worker-81
     charm: cs:~containers/kubernetes-worker-90
     expose: true
     num_units: 3
-    # constraints: cores=4 mem=4G tags=kubernetes
+    constraints: cores=4 mem=4G tags=kubernetes
     options:
       channel: 1.9/stable
-    to:
-      - "4"
-      - "5"
-      - "6"
+      cuda-version: 9.0.176-1
 
   kubernetes-worker-gpu: 
-     charm: "cs:~tvansteenburgh/kubernetes-worker"
-     num_units: 1
-     constraints: cores=4 mem=4G tags=kubernetes,gpu
-     expose: true
-     annotations: 
-       gui-x: "520"
-       gui-y": "226"
+    # charm: cs:~containers/kubernetes-worker-90
+    charm: ./kubernetes-worker # patched for cuda-9.0
+    num_units: 1
+    constraints: cores=4 mem=4G tags=gpu
+    expose: true
+    options:
+      channel: 1.9/stable
+      cuda-version: 9.0.176-1
+    annotations: 
+      gui-x: "520"
+      gui-y": "226"
 
   ceph-mon:
     charm: cs:ceph-mon
@@ -162,9 +142,9 @@ services:
       # source: cloud:xenial-pike
       # bluestore: True
     to:
-      - "4"		# "on each kubernetes-worker"
-      - "5"
-      - "6"
+      - "kubernetes-worker/0"
+      - "kubernetes-worker/1"
+      - "kubernetes-worker/2"
     annotations:
       gui-x: '1400'
       gui-y: '400'
@@ -198,10 +178,10 @@ relations:
   - ["flannel:cni", "kubernetes-master:cni"]
   - ["flannel:cni", "kubernetes-worker:cni"]
   # GPU worker
-  - ["flannel:cni", "kubernetes-worker-gpu:cni"]
-  - ["kubernetes-worker-gpu:certificates", "easyrsa:client"]
   - ["kubernetes-master:kube-control", "kubernetes-worker-gpu:kube-control"]
-  - ["kubernetes-master:kube-api-endpoint", "kubernetes-worker-gpu:kube-api-endpoint"]
+  - ["kubernetes-worker-gpu:certificates", "easyrsa:client"]
+  - ["kubernetes-worker-gpu:kube-api-endpoint", "kubeapi-load-balancer:website"]
+  - ["flannel:cni", "kubernetes-worker-gpu:cni"]
   # Ceph
   - ["kubernetes-master:ceph-storage", "ceph-mon:admin"]
   - ["ceph-osd:mon", "ceph-mon:osd"]