 
     private function _save(name:String, filename:String):void {
 
-      var boundary:String = MultiPartFormUtil.boundary();
-
-      this.uploadFormData.push( MultiPartFormUtil.fileField(this.uploadFieldName, recorder.convertToWav(name), filename, "audio/wav") );
-      var request:URLRequest = MultiPartFormUtil.request(this.uploadFormData);
-      this.uploadFormData.pop();
-
-      request.url = this.uploadUrl;
+      MultiPartFormUtil.boundary();
+
+      uploadFormData.push(MultiPartFormUtil.fileField(uploadFieldName, recorder.convertToWav(name), filename, "audio/wav"));
+      var request:URLRequest = MultiPartFormUtil.request(uploadFormData);
+      uploadFormData.pop();
+
+      request.url = uploadUrl;
 
       var loader:URLLoader = new URLLoader();
       loader.addEventListener(Event.COMPLETE, onSaveComplete);

    }

    public function save():Boolean {
      ExternalInterface.call(this.EVENT_HANDLER, RecorderJSInterface.SAVE_PRESSED, this.recorder.currentSoundName);
      try {
        _save(this.recorder.currentSoundName, this.recorder.currentSoundFilename);
        ExternalInterface.call(this.EVENT_HANDLER, RecorderJSInterface.SAVING, this.recorder.currentSoundName);
      } catch(e:Error) {
        ExternalInterface.call(this.EVENT_HANDLER, RecorderJSInterface.SAVE_FAILED, this.recorder.currentSoundName, e.message);
        return false;
      }
      return true;
    }

    private function enableEventObservation(eventObserverAttacher:MicrophoneEventObserverAttacher):Boolean {
      if (this.isMicrophoneAccessible()) {
        if (!eventObserverAttacher.observing) {
          eventObserverAttacher.startObserving();
        }

    public var saveButton:DisplayObject;

    public function RecorderJSInterface() {
      recorder = new MicrophoneRecorder();
      if(ExternalInterface.available && ExternalInterface.objectID) {
        ExternalInterface.addCallback("record", record);
        ExternalInterface.addCallback("observeLevel", observeLevel);
