diff --git a/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java b/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java
index c83082527017668dd713b42e7d3144d6285025bb..4f4898fc9ece2660bfa820d40b7b100c8035561a 100644
--- a/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java
+++ b/app/src/main/java/info/nightscout/android/dexcom/DexcomG4Service.java
@@ -196,45 +196,9 @@ public class DexcomG4Service extends Service {
             initialRead = false;
 
             nextUploadTimer = getNextUploadTimer(dexcomReader);
-
-            if (prefs.getBoolean("EnableWifiHack", false)) {
-                doWifiHack();
-            }
         }
     }
 
-    private void doWifiHack() {
-        Handler handler = new Handler();
-        handler.postDelayed(new Runnable() {
-            @Override
-            //Interesting case: location with lousy wifi
-            //toggle it off to use cellular
-            //toggle back on for next try
-            public void run() {
-                Status dataUp = uploader.getStatus();
-                if (dataUp == Status.RUNNING) {
-                    uploader.cancel(true);
-
-                    if (wifiManager.isWifiEnabled()) {
-                        wifiManager.setWifiEnabled(false);
-                        try {
-                            Thread.sleep(2500);
-                        } catch (InterruptedException e) {
-                            Log.e(TAG, "Sleep after setWifiEnabled(false) interrupted", e);
-                        }
-                        wifiManager.setWifiEnabled(true);
-                        try {
-                            Thread.sleep(2500);
-                        } catch (InterruptedException e) {
-                            Log.e(TAG, "Sleep after setWifiEnabled(true) interrupted", e);
-                        }
-                    }
-                }
-
-            }
-        }, 22500);
-    }
-
     private void USBOff() {
         if (mSerialDevice != null) {
             try {
diff --git a/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java b/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java
index 162d148bd2d7ca5883b20bb40f96d67ae81c3803..c0ebff1f4e411657d220911989de9b8266a8017d 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java
@@ -200,7 +200,7 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C
             String longSerial = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL));
             String key = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY));
 
-            deviceTableHtml += String.format("<b>Serial Number:</b> %s<br/><b>Key:</b> %s<br/>", longSerial, key );
+            deviceTableHtml += String.format("<b>Serial Number:</b> %s %s<br/>", longSerial, key.equals("") ? "&#x2718;" : "&#x2714;" );
 
             cursor.moveToNext();
         }
diff --git a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java
index e80e57adcb4a9e82ef0ac78476f5f3fdfabf73e2..31e6e643f704fdcc4043b9e2e563f43e18302d3f 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCGMService.java
@@ -1182,9 +1182,6 @@ public class MedtronicCGMService extends Service implements
 					params = null;
 	
 					listToUpload.clear();
-					if (prefs.getBoolean("EnableWifiHack", false)) {
-						doWifiHack();
-					}
 				} catch (Exception e) {
 					StringBuffer sb1 = new StringBuffer("");
 					sb1.append("EXCEPTION!!!!!! " + e.getMessage() + " "
@@ -1199,43 +1196,7 @@ public class MedtronicCGMService extends Service implements
 		}
 
 	};
-
-	private void doWifiHack() {
-		Handler handler = new Handler();
-		handler.postDelayed(new Runnable() {
-			@Override
-			// Interesting case: location with lousy wifi
-			// toggle it off to use cellular
-			// toggle back on for next try
-			public void run() {
-				Status dataUp = uploader.getStatus();
-				if (dataUp == Status.RUNNING) {
-					uploader.cancel(true);
-
-					if (wifiManager.isWifiEnabled()) {
-						wifiManager.setWifiEnabled(false);
-						try {
-							Thread.sleep(2500);
-						} catch (InterruptedException e) {
-							Log.e(TAG,
-									"Sleep after setWifiEnabled(false) interrupted",
-									e);
-						}
-						wifiManager.setWifiEnabled(true);
-						try {
-							Thread.sleep(2500);
-						} catch (InterruptedException e) {
-							Log.e(TAG,
-									"Sleep after setWifiEnabled(true) interrupted",
-									e);
-						}
-					}
-				}
-
-			}
-		}, 22500);
-	}
-
+	
 	private boolean isConnected() {
 		return mSerial.isOpened();
 	}
diff --git a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java
index e0456264681aa8b2a90a8e9ae66b2b75373e33d4..c9ef0e9f55165be32f5a7da356334fe0e13d112c 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java
@@ -144,7 +144,7 @@ public class MedtronicCNLService extends AbstractService {
                 Medtronic640gActivity.pumpStatusRecord.setDeviceName( deviceName );
 
                 if( hmac.equals( "" ) || key.equals("") ) {
-                    send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, "Before you can use the Contour Next Link, you need to register it with the app. Select 'Register USB Stick' from the menu."));
+                    send(Message.obtain(null, Medtronic640gActivity.DexcomG4ActivityHandler.MSG_ERROR, String.format( "Before you can use the Contour Next Link, you need to register it with the app. Select '%s' from the menu.", getString(R.string.register_contour_next_link))));
                     return;
                 }
 
@@ -197,44 +197,9 @@ public class MedtronicCNLService extends AbstractService {
             }
 
             mUploader.execute(pumpRecord);
-
-            if (prefs.getBoolean("EnableWifiHack", false)) {
-                doWifiHack();
-            }
         }
     }
 
-    private void doWifiHack() {
-        Handler handler = new Handler();
-        handler.postDelayed(new Runnable() {
-            @Override
-            //Interesting case: location with lousy wifi
-            //toggle it off to use cellular
-            //toggle back on for next try
-            public void run() {
-                Status dataUp = mUploader.getStatus();
-                if (dataUp == Status.RUNNING) {
-                    mUploader.cancel(true);
-
-                    if (mWifiManager.isWifiEnabled()) {
-                        mWifiManager.setWifiEnabled(false);
-                        try {
-                            Thread.sleep(2500);
-                        } catch (InterruptedException e) {
-                            Log.e(TAG, "Sleep after setWifiEnabled(false) interrupted", e);
-                        }
-                        mWifiManager.setWifiEnabled(true);
-                        try {
-                            Thread.sleep(2500);
-                        } catch (InterruptedException e) {
-                            Log.e(TAG, "Sleep after setWifiEnabled(true) interrupted", e);
-                        }
-                    }
-                }
-            }
-        }, 22500);
-    }
-
     private boolean isOnline() {
         ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
         NetworkInfo netInfo = cm.getActiveNetworkInfo();
diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml
index 7cdc9237f558db260abefbff575a0f2223b91fc4..eecdd8158944293d9f06c49d01c9b813294fc77f 100644
--- a/app/src/main/res/menu/menu.xml
+++ b/app/src/main/res/menu/menu.xml
@@ -8,6 +8,6 @@
     <item
             android:id="@+id/registerCNL"
             android:orderInCategory="100"
-            android:title="Register Contour Next Link">
+            android:title="@string/register_contour_next_link">
     </item>
 </menu>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cdc43a87037aa0ea4f858f4045b9c00407b82534..b629689a66a684f245072f17b061517684dd6e54 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -13,7 +13,7 @@
     <string name="eula_title">Disclaimer</string>
     <string name="eula_accept">Accept</string>
     <string name="eula_refuse">Refuse</string>
-    <string name="version">0.1.0</string>
+    <string name="version">0.2.0</string>
     <style name="ButtonText">
     <item name="android:layout_width">fill_parent</item>
     <item name="android:layout_height">wrap_content</item>
@@ -117,4 +117,5 @@
     <string name="preference_api_secret">API SECRET</string>
     <string name="prompt_carelink_username_password">Please enter your CareLink details.\nThey will not be stored.</string>
     <string name="close">Close</string>
+    <string name="register_contour_next_link">Register Contour Next Link</string>
 </resources>
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 55b0184fe902a6a9db6a87d638c9a5c9a8ee1231..6a7d8a6f18e4337b4cd6662227ef89260042767a 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -44,15 +44,6 @@
 		android:defaultValue="YOURAPISECRET"
 		android:dialogMessage="Your Nightscout API secret">
 	</EditTextPreference>
-    <info.nightscout.android.utils.CustomSwitchPreference
-            android:title="Wifi Hack"
-            android:key="EnableWifiHack"
-            android:disableDependentsState="false"
-            android:defaultValue="false"
-            android:summaryOn="Wifi will be disabled if there is a timeout (poor wifi signal/access point), this will allow mobile data to be used instead"
-            android:summaryOff="The uploader won't try to disable Wifi even if there is a timeout"
-            >
-    </info.nightscout.android.utils.CustomSwitchPreference>
     </PreferenceCategory>
      <PreferenceCategory android:title="Disclaimer">
 	    <info.nightscout.android.utils.CustomSwitchPreference