diff --git a/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java b/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java
index e79f771..bc199d8 100644
--- a/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/ApplicationManagerFacade.java
@@ -67,7 +67,7 @@
   }
 
   @Rpc(description = "Kill the specified app.")
-  public Boolean mediaKill(@RpcParameter(name = "name") String name) {
+  public Boolean appKill(@RpcParameter(name = "name") String name) {
       for (RunningAppProcessInfo info : mActivityManager.getRunningAppProcesses()) {
           if (info.processName.contains(name)) {
               Log.d("Killing " + info.processName);
diff --git a/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothAvrcpFacade.java b/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothAvrcpFacade.java
index 334ff51..f336b4f 100644
--- a/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothAvrcpFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothAvrcpFacade.java
@@ -1,5 +1,7 @@
 package com.googlecode.android_scripting.facade.bluetooth;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.util.List;
 
 import android.app.Service;
@@ -10,6 +12,7 @@
 import android.bluetooth.BluetoothUuid;
 import android.os.ParcelUuid;
 
+import com.googlecode.android_scripting.Log;
 import com.googlecode.android_scripting.facade.FacadeManager;
 import com.googlecode.android_scripting.jsonrpc.RpcReceiver;
 import com.googlecode.android_scripting.rpc.Rpc;
@@ -53,19 +56,41 @@
 
   @Rpc(description = "Get all the devices connected through AVRCP.")
   public List<BluetoothDevice> bluetoothAvrcpGetConnectedDevices() {
-    while (!sIsAvrcpReady);
+    if (!sIsAvrcpReady) {
+        Log.d("AVRCP profile is not ready.");
+        return null;
+    }
     return sAvrcpProfile.getConnectedDevices();
   }
 
+  @Rpc(description = "Close AVRCP connection.")
+  public void bluetoothAvrcpDisconnect() throws NoSuchMethodException,
+                                                IllegalAccessException,
+                                                IllegalArgumentException,
+                                                InvocationTargetException {
+      if (!sIsAvrcpReady) {
+          Log.d("AVRCP profile is not ready.");
+          return;
+      }
+      Method m = sAvrcpProfile.getClass().getMethod("close");
+      m.invoke(sAvrcpProfile);
+  }
+
   @Rpc(description = "Send AVRPC passthrough command.")
   public void bluetoothAvrcpSendPassThroughCmd(
-          @RpcParameter(name = "deviceID", description = "Name or MAC address of a bluetooth device.")
+          @RpcParameter(name = "deviceID",
+                        description = "Name or MAC address of a bluetooth device.")
           String deviceID,
           @RpcParameter(name = "keyCode")
           Integer keyCode,
           @RpcParameter(name = "keyState")
           Integer keyState) throws Exception {
-      BluetoothDevice mDevice = BluetoothFacade.getDevice(sAvrcpProfile.getConnectedDevices(), deviceID);
+      if (!sIsAvrcpReady) {
+          Log.d("AVRCP profile is not ready.");
+          return;
+      }
+      BluetoothDevice mDevice = BluetoothFacade.getDevice(sAvrcpProfile.getConnectedDevices(),
+                                                          deviceID);
       sAvrcpProfile.sendPassThroughCmd(mDevice, keyCode, keyState);
   }
 
diff --git a/Common/src/com/googlecode/android_scripting/facade/media/MediaPlayerFacade.java b/Common/src/com/googlecode/android_scripting/facade/media/MediaPlayerFacade.java
index 0b7fafa..b307925 100644
--- a/Common/src/com/googlecode/android_scripting/facade/media/MediaPlayerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/media/MediaPlayerFacade.java
@@ -160,6 +160,13 @@
         return !mediaIsPlaying(tag) && player.getCurrentPosition() == 0;
     }
 
+    @Rpc(description = "Stop all players.")
+    public synchronized void mediaPlayStopAll() {
+        for (MediaPlayer p : mPlayers.values()) {
+            p.stop();
+        }
+    }
+
     @Rpc(description = "Seek To Position", returns = "New Position (in ms)")
     public synchronized int mediaPlaySeek(@RpcParameter(name = "msec",
                                                         description = "Position in millseconds")
diff --git a/Common/src/com/googlecode/android_scripting/facade/media/MediaScannerFacade.java b/Common/src/com/googlecode/android_scripting/facade/media/MediaScannerFacade.java
index 5097692..636cecd 100644
--- a/Common/src/com/googlecode/android_scripting/facade/media/MediaScannerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/media/MediaScannerFacade.java
@@ -1,11 +1,17 @@
 package com.googlecode.android_scripting.facade.media;
 
 import android.app.Service;
+import android.content.BroadcastReceiver;
+import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.media.MediaScanner;
 import android.net.Uri;
+import android.os.Bundle;
 import android.os.Environment;
 
+import com.googlecode.android_scripting.Log;
+import com.googlecode.android_scripting.facade.EventFacade;
 import com.googlecode.android_scripting.facade.FacadeManager;
 import com.googlecode.android_scripting.jsonrpc.RpcReceiver;
 import com.googlecode.android_scripting.rpc.Rpc;
@@ -18,17 +24,36 @@
 
     private final Service mService;
     private final MediaScanner mScanService;
+    private final EventFacade mEventFacade;
+    private final MediaScannerReceiver mReceiver;
 
     public MediaScannerFacade(FacadeManager manager) {
         super(manager);
         mService = manager.getService();
         mScanService = new MediaScanner(mService);
+        mEventFacade = manager.getReceiver(EventFacade.class);
+        mReceiver = new MediaScannerReceiver();
+    }
+
+    public class MediaScannerReceiver extends BroadcastReceiver {  
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if(action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)) {
+                Log.d("Scan finished, posting event.");
+                mEventFacade.postEvent("MediaScanFinished", new Bundle());
+                mService.unregisterReceiver(mReceiver);
+            } 
+        }
     }
 
     @Rpc(description = "Scan external storage for media files.")
     public void mediaScanForFiles() {
         mService.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
                                Uri.parse("file://" + Environment.getExternalStorageDirectory())));
+        mService.registerReceiver(mReceiver,
+                                  new IntentFilter(Intent.ACTION_MEDIA_SCANNER_FINISHED));
     }
 
     @Rpc(description = "Scan for a media file.")
diff --git a/Common/src/com/googlecode/android_scripting/facade/media/MediaSessionFacade.java b/Common/src/com/googlecode/android_scripting/facade/media/MediaSessionFacade.java
index 0c08495..9200910 100644
--- a/Common/src/com/googlecode/android_scripting/facade/media/MediaSessionFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/media/MediaSessionFacade.java
@@ -5,11 +5,9 @@
 import java.util.List;
 import java.util.concurrent.Callable;
 
-import android.app.ActivityManager;
 import android.app.Service;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
 import android.media.session.MediaController;
 import android.media.session.MediaSession;
 import android.media.session.MediaSessionInfo;
diff --git a/ScriptingLayerForAndroid/AndroidManifest.xml b/ScriptingLayerForAndroid/AndroidManifest.xml
index 6c81297..9165b67 100644
--- a/ScriptingLayerForAndroid/AndroidManifest.xml
+++ b/ScriptingLayerForAndroid/AndroidManifest.xml
@@ -15,6 +15,7 @@
     <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
     <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
     <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.SEND_SMS" />
     <uses-permission android:name="android.permission.READ_SMS" />
     <uses-permission android:name="android.permission.WRITE_SMS" />
