diff --git a/VACS.cs b/VACS.cs
index 8cd87d0bc45282e942a4bcc628d296ae63fecf46..ce9d234b50c0bcc8b898019959d5106fb6c5a4e4 100644
--- a/VACS.cs
+++ b/VACS.cs
@@ -111,9 +111,9 @@ namespace VA
             NativeFreeHRIRDataset(_NetClient, HRIR);
         }
 
-        public void SetAudiofileSignalSourcePlaybackAction(string sSignalSourceID, int iPlayState)
+        public void SetAudiofileSignalSourcePlaybackAction(string sSignalSourceID, string sPlayState)
         {
-            NativeSetAudiofileSignalSourcePlaybackAction(_NetClient, sSignalSourceID, iPlayState);
+            NativeSetAudiofileSignalSourcePlaybackAction(_NetClient, sSignalSourceID, sPlayState);
         }
 
         public void SetAudiofileSignalSourcePlaybackPosition(string sSignalSourceID, double dPlaybackPosition)
@@ -286,7 +286,7 @@ namespace VA
 	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceInfo( IntPtr pClient, string sSignalSourceID, CVASignalSourceInfo& );
 	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceInfos( IntPtr pClient, std::vector<CVASignalSourceInfo>& vssiDest );
 	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetAudiofileSignalSourcePlaybackState( IntPtr pClient, string sSignalSourceID );
-	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackAction( IntPtr pClient, string sSignalSourceID, int iPlayState );
+	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackAction( IntPtr pClient, string sSignalSourceID, string sPlayState );
 	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackPosition( IntPtr pClient, string sSignalSourceID, double dPlaybackPosition );
 	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeGetAudiofileSignalSourceIsLooping( IntPtr pClient, string sSignalSourceID );
 	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourceIsLooping( IntPtr pClient, string sSignalSourceID, bool bLooping );
diff --git a/VAUListener.cs b/VAUListener.cs
index 687794621c75a95135f88b18bda59c35beda43ca..706d0f4d0a965f6082268f60aaf50007fb2cc710 100644
--- a/VAUListener.cs
+++ b/VAUListener.cs
@@ -25,7 +25,7 @@ public class VAUListener : MonoBehaviour {
     {
         _VA = VAUAdapter.VA;
         Listener = _VA.CreateListener(listenername, 0, VAUAdapter.DefaultHRIR);
-        _VA.SetSoundSourceAuralizationMode(Listener, "all");
+        _VA.SetListenerAuralizationMode(Listener, "all");
         Debug.Log("Listener " + Listener + " created");
         _VA.SetListenerHRIRDataset(Listener, VAUAdapter.DefaultHRIR);
         if (GetComponent<VAUAuralizationMode>() != null)
@@ -59,4 +59,11 @@ public class VAUListener : MonoBehaviour {
         if (GetComponent<VAUAuralizationMode>() != null)
             GetComponent<VAUAuralizationMode>().AuraStringChanged -= OnListenerAuralizationModeChanged;
     }
+    void OnDestroy()
+    {
+        if (_VA.IsConnected())
+        {
+            _VA.DeleteListener(Listener);
+        }
+    }
 }
diff --git a/VAUReverbZone.cs b/VAUReverbZone.cs
new file mode 100644
index 0000000000000000000000000000000000000000..45e3230ae24a6b77e8f76addbbf478b560e2ca92
--- /dev/null
+++ b/VAUReverbZone.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+using System.Collections;
+
+public class VAUReverbZone : MonoBehaviour {
+
+	void OnTriggerEnter(Collider col)
+    {
+        Debug.Log("ReverbZone aktualisiert.");
+    }
+}
diff --git a/VAUSoundSource.cs b/VAUSoundSource.cs
index 0f3e5a6c640888d80db0980b9118fbdf531c50ae..5d69ae04a0b88e39b0ce3e70b6edd2338923fe01 100644
--- a/VAUSoundSource.cs
+++ b/VAUSoundSource.cs
@@ -9,7 +9,7 @@ public class VAUSoundSource : MonoBehaviour {
     public string directivitypath = "";
     private int directivity;
     private int Gain = 1;
-    public string SignalSource = "";
+    private string SignalSource = "";
     private VANet _VA = null;
     private int SoundSource;
     private Quaternion q;
@@ -24,6 +24,13 @@ public class VAUSoundSource : MonoBehaviour {
             return SoundSource;
         }
     }
+    public string SignalSourceID
+    {
+        get
+        {
+            return SignalSource;
+        }
+    }
 
     // Use this for initialization
     void Start()
@@ -41,7 +48,7 @@ public class VAUSoundSource : MonoBehaviour {
             SignalSource = _VA.CreateAudiofileSignalSource( AssetDatabase.GetAssetPath(GetComponent<AudioSource>().clip), this.name + "_signal");
             _VA.SetSoundSourceSignalSource(SoundSource, SignalSource);
             Debug.Log(SignalSource + " connected to SoundSource " + SoundSource);
-            _VA.SetAudiofileSignalSourcePlaybackAction(SignalSource, 2);
+            _VA.SetAudiofileSignalSourcePlaybackAction(SignalSource, "PLAYING");
             _VA.SetAudiofileSignalSourceIsLooping(SignalSource, islooping);
         }
         if (GetComponent<VAUAuralizationMode>() != null)
@@ -52,6 +59,15 @@ public class VAUSoundSource : MonoBehaviour {
 
     // Update is called once per frame
     void Update()
+    {
+
+        SetSoundSourcePosition();
+        SetSoundSourcePlaybackState();
+        //_VA.SetSoundSourceVolume(SoundSource, Volume); <- flaot ändern
+        
+    }
+
+    void SetSoundSourcePosition()
     {
         //position and oritentation -> VA
         t = GetComponent<Transform>();
@@ -60,22 +76,28 @@ public class VAUSoundSource : MonoBehaviour {
         Vector3 view = q * Vector3.forward;
         Vector3 view_ogl = new Vector3(view.x, view.y, -view.z);
         Vector3 up_ogl = new Vector3(up.x, up.y, -up.z);
-
         _VA.SetSoundSourcePositionOrientationVU(SoundSource, t.transform.position.x, t.transform.position.y, -t.transform.position.z, view_ogl.x, view_ogl.y, view_ogl.z, up_ogl.x, up_ogl.y, up_ogl.z);
-        //_VA.SetSoundSourceOrientationVU(SoundSource, view_ogl.x, view_ogl.y, view_ogl.z, up_ogl.x, up_ogl.y, up_ogl.z);
-        //_VA.SetSoundSourcePosition(SoundSource, t.transform.position.x, t.transform.position.y, -t.transform.position.z);
-        ismuted = GetComponent<AudioSource>().mute;
-        _VA.SetSoundSourceMuted(SoundSource, ismuted);
-        //_VA.SetSoundSourceVolume(SoundSource, Volume); <- flaot ändern
-        
     }
+
+    void SetSoundSourcePlaybackState()
+    {
+        _VA.SetSoundSourceMuted(SoundSource, GetComponent<AudioSource>().mute);
+    }
+
     void OnSoundSourceAuralizationModeChanged(string AuraMode)
     {
         _VA.SetSoundSourceAuralizationMode(SoundSource, AuraMode);
     }
-    void OnDisable()
+    public void OnDisable()
     {
         if (GetComponent<VAUAuralizationMode>() != null)
             GetComponent<VAUAuralizationMode>().AuraStringChanged -= OnSoundSourceAuralizationModeChanged;
     }
+    void OnDestroy()
+    {
+        if (_VA.IsConnected())
+        {
+            _VA.DeleteSoundSource(SoundSource);
+        }
+    }
 }