diff --git a/cw1_template/.vscode/tasks.json b/cw1_template/.vscode/tasks.json
index 7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4..8109666aa1ca90fc6b5d21be3445e28c93ab2d85 100644
--- a/cw1_template/.vscode/tasks.json
+++ b/cw1_template/.vscode/tasks.json
@@ -118,7 +118,7 @@
       {
         "label": "windows: BLEtest",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t && ssh -p 120%group% %userName%@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t && ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
         "presentation":
         {
         "reveal": "always",
@@ -129,7 +129,7 @@
       {
         "label": "windows: readUSB",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t minicom -D /dev/ttyACM0",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t minicom -D /dev/ttyACM0",
         "presentation":
         {
         "reveal": "always",
@@ -140,7 +140,7 @@
       {
         "label": "windows: flashNordic",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -151,7 +151,7 @@
       {
         "label": "windows: flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %nrf52SDKPath%/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -205,7 +205,7 @@
         "options": {
           "cwd": "${workspaceFolder}/pca10059/s140/armgcc"
         },
-        "command": "make clean",
+        "command": "make clean_windows",
         "group": "build"
       },
       {
diff --git a/cw2_template/.vscode/tasks.json b/cw2_template/.vscode/tasks.json
index 7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4..8109666aa1ca90fc6b5d21be3445e28c93ab2d85 100644
--- a/cw2_template/.vscode/tasks.json
+++ b/cw2_template/.vscode/tasks.json
@@ -118,7 +118,7 @@
       {
         "label": "windows: BLEtest",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t && ssh -p 120%group% %userName%@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t && ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
         "presentation":
         {
         "reveal": "always",
@@ -129,7 +129,7 @@
       {
         "label": "windows: readUSB",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t minicom -D /dev/ttyACM0",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t minicom -D /dev/ttyACM0",
         "presentation":
         {
         "reveal": "always",
@@ -140,7 +140,7 @@
       {
         "label": "windows: flashNordic",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -151,7 +151,7 @@
       {
         "label": "windows: flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %nrf52SDKPath%/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -205,7 +205,7 @@
         "options": {
           "cwd": "${workspaceFolder}/pca10059/s140/armgcc"
         },
-        "command": "make clean",
+        "command": "make clean_windows",
         "group": "build"
       },
       {
diff --git a/cw3_template/.vscode/tasks.json b/cw3_template/.vscode/tasks.json
index 7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4..8109666aa1ca90fc6b5d21be3445e28c93ab2d85 100644
--- a/cw3_template/.vscode/tasks.json
+++ b/cw3_template/.vscode/tasks.json
@@ -118,7 +118,7 @@
       {
         "label": "windows: BLEtest",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t && ssh -p 120%group% %userName%@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t && ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
         "presentation":
         {
         "reveal": "always",
@@ -129,7 +129,7 @@
       {
         "label": "windows: readUSB",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t minicom -D /dev/ttyACM0",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t minicom -D /dev/ttyACM0",
         "presentation":
         {
         "reveal": "always",
@@ -140,7 +140,7 @@
       {
         "label": "windows: flashNordic",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -151,7 +151,7 @@
       {
         "label": "windows: flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %nrf52SDKPath%/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -205,7 +205,7 @@
         "options": {
           "cwd": "${workspaceFolder}/pca10059/s140/armgcc"
         },
-        "command": "make clean",
+        "command": "make clean_windows",
         "group": "build"
       },
       {
diff --git a/cw4_template/.vscode/tasks.json b/cw4_template/.vscode/tasks.json
index 7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4..8109666aa1ca90fc6b5d21be3445e28c93ab2d85 100644
--- a/cw4_template/.vscode/tasks.json
+++ b/cw4_template/.vscode/tasks.json
@@ -118,7 +118,7 @@
       {
         "label": "windows: BLEtest",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t && ssh -p 120%group% %userName%@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t && ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t python3.7 /root/pmk/test_bluepy.py",
         "presentation":
         {
         "reveal": "always",
@@ -129,7 +129,7 @@
       {
         "label": "windows: readUSB",
         "type": "shell",
-        "command": "ssh -p 120%group% %userName%@153.19.49.102 -t minicom -D /dev/ttyACM0",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t minicom -D /dev/ttyACM0",
         "presentation":
         {
         "reveal": "always",
@@ -140,7 +140,7 @@
       {
         "label": "windows: flashNordic",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -151,7 +151,7 @@
       {
         "label": "windows: flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120%group% pca10059/s140/armgcc/_build/nrf52840_xxaa.hex %nrf52SDKPath%/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex %userName%@153.19.49.102:/var/tmp && ssh -p 120%group% %userName%@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/%group% && ssh -p 120%group% %userName%@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120%group% %userName%@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120%group% %userName%@153.19.49.102 rm /var/tmp/*.hex",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && ssh -p 120${config:group} ${config:userName}@153.19.49.102 nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && ssh -p 120${config:group} ${config:userName}@153.19.49.102 rm /var/tmp/*.hex",
         "presentation": 
         {
           "reveal": "always",
@@ -205,7 +205,7 @@
         "options": {
           "cwd": "${workspaceFolder}/pca10059/s140/armgcc"
         },
-        "command": "make clean",
+        "command": "make clean_windows",
         "group": "build"
       },
       {