diff --git a/PlayWallNative/.classpath b/PlayWallNative/.classpath
index 597b13ce51bb8511e0abd38c46faed73b957d07b..7d03288488cf3143f0a6a22231d22bac9bde9d1b 100644
--- a/PlayWallNative/.classpath
+++ b/PlayWallNative/.classpath
@@ -2,6 +2,8 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="test"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/libUtils"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/PlayWallNative/libNativeAudio.dylib b/PlayWallNative/libNativeAudio.dylib
index 705cbc2b351f91928644d28ffdf1c1d63ae698fa..9e45f56048bfff306f009c282fbffd1bbf87b2e4 100755
Binary files a/PlayWallNative/libNativeAudio.dylib and b/PlayWallNative/libNativeAudio.dylib differ
diff --git a/PlayWallNative/src/de/tobias/playpad/NativeAudio.java b/PlayWallNative/src/de/tobias/playpad/NativeAudio.java
index 9d391bfaf03232cd510d3b52f4c0173aa4021005..540241923ba456649783fd7754d9150772cc6440 100644
--- a/PlayWallNative/src/de/tobias/playpad/NativeAudio.java
+++ b/PlayWallNative/src/de/tobias/playpad/NativeAudio.java
@@ -12,7 +12,7 @@ public class NativeAudio {
 	
 	public static native void setVolume(int id, double volume);
 
-	public static native void load(int id, String path);
+	public static native boolean load(int id, String path);
 
 	public static native void dispose(int id);
 
diff --git a/PlayWallNative/src/de/tobias/playpad/NativeAudioMacHandler.java b/PlayWallNative/src/de/tobias/playpad/NativeAudioMacHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..07fa6b9f8de81d77b8ee7334f0c64a92f822ce32
--- /dev/null
+++ b/PlayWallNative/src/de/tobias/playpad/NativeAudioMacHandler.java
@@ -0,0 +1,95 @@
+package de.tobias.playpad;
+
+import java.nio.file.Path;
+
+import de.tobias.playpad.audio.AudioHandler;
+import de.tobias.playpad.pad.PadStatus;
+import de.tobias.playpad.pad.conntent.PadContent;
+import de.tobias.utils.util.Worker;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.ReadOnlyObjectProperty;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.util.Duration;
+
+public class NativeAudioMacHandler extends AudioHandler {
+
+	private static int counter = 0;
+
+	private final int id;
+	private ObjectProperty<Duration> positionProperty;
+	private ObjectProperty<Duration> durationProperty;
+	private boolean isLoaded;
+
+	public NativeAudioMacHandler(PadContent content) {
+		super(content);
+
+		id = counter++;
+		positionProperty = new SimpleObjectProperty<>();
+		durationProperty = new SimpleObjectProperty<>();
+	}
+
+	@Override
+	public void play() {
+		NativeAudio.play(id);
+	}
+
+	@Override
+	public void pause() {
+		NativeAudio.pause(id);
+	}
+
+	@Override
+	public void stop() {
+		NativeAudio.stop(id);
+	}
+
+	@Override
+	public Duration getPosition() {
+		return positionProperty.get();
+	}
+
+	@Override
+	public ReadOnlyObjectProperty<Duration> positionProperty() {
+		return positionProperty;
+	}
+
+	@Override
+	public Duration getDuration() {
+		return durationProperty.get();
+	}
+
+	@Override
+	public ReadOnlyObjectProperty<Duration> durationProperty() {
+		return durationProperty;
+	}
+
+	@Override
+	public void setVolume(double volume, double masterVolume, double customVolume) {
+		double vol = customVolume * volume * masterVolume;
+		NativeAudio.setVolume(id, vol);
+
+	}
+
+	@Override
+	public boolean isMediaLoaded() {
+		return isLoaded;
+	}
+
+	@Override
+	public void loadMedia(Path[] paths) {
+		Worker.runLater(() ->
+		{
+			isLoaded = NativeAudio.load(id, paths[0].toString().replace(" ", "%20"));
+			if (isLoaded) {
+				durationProperty.set(Duration.seconds(NativeAudio.getDuration(id)));
+				getContent().getPad().setStatus(PadStatus.READY);
+			}
+		});
+	}
+
+	@Override
+	public void unloadMedia() {
+		NativeAudio.dispose(id);
+	}
+
+}
diff --git a/PlayWallNative/src/de/tobias/playpad/NativeAudioMacHandlerConnect.java b/PlayWallNative/src/de/tobias/playpad/NativeAudioMacHandlerConnect.java
new file mode 100644
index 0000000000000000000000000000000000000000..18f7a20bde755ac701e2de1d727d658c18ecc2b5
--- /dev/null
+++ b/PlayWallNative/src/de/tobias/playpad/NativeAudioMacHandlerConnect.java
@@ -0,0 +1,25 @@
+package de.tobias.playpad;
+
+import de.tobias.playpad.audio.AudioHandler;
+import de.tobias.playpad.audio.AudioHandlerConnect;
+import de.tobias.playpad.pad.conntent.PadContent;
+import de.tobias.playpad.viewcontroller.AudioHandlerViewController;
+
+public class NativeAudioMacHandlerConnect extends AudioHandlerConnect {
+
+	@Override
+	public AudioHandler createAudioHandler(PadContent content) {
+		return new NativeAudioMacHandler(content);
+	}
+
+	@Override
+	public AudioHandlerViewController getAudioHandlerSettingsViewController() {
+		return null;
+	}
+
+	@Override
+	public String getType() {
+		return "Native";
+	}
+
+}
diff --git a/PlayWallNative/src/de_tobias_playpad_NativeAudio.h b/PlayWallNative/src/de_tobias_playpad_NativeAudio.h
index 0d5e2aceb65f7e8b9e449cf64ee1ff29e508c186..4bd710308b879f953bd90b3e96a9aa1ec1e2ef92 100644
--- a/PlayWallNative/src/de_tobias_playpad_NativeAudio.h
+++ b/PlayWallNative/src/de_tobias_playpad_NativeAudio.h
@@ -50,9 +50,9 @@ JNIEXPORT void JNICALL Java_de_tobias_playpad_NativeAudio_setVolume
 /*
  * Class:     de_tobias_playpad_NativeAudio
  * Method:    load
- * Signature: (ILjava/lang/String;)V
+ * Signature: (ILjava/lang/String;)Z
  */
-JNIEXPORT void JNICALL Java_de_tobias_playpad_NativeAudio_load
+JNIEXPORT jboolean JNICALL Java_de_tobias_playpad_NativeAudio_load
   (JNIEnv *, jclass, jint, jstring);
 
 /*
diff --git a/PlayWallNative/test/de/tobias/playpad/NativeAudioTest.java b/PlayWallNative/test/de/tobias/playpad/NativeAudioTest.java
index 42a6d50ae302686c18dcb64be61c120118d03a35..0fe58a6cf60fba757ed8d1a7938d11149af87b5c 100644
--- a/PlayWallNative/test/de/tobias/playpad/NativeAudioTest.java
+++ b/PlayWallNative/test/de/tobias/playpad/NativeAudioTest.java
@@ -3,7 +3,7 @@ package de.tobias.playpad;
 public class NativeAudioTest {
 	
 	public static void main(String[] args) {
-		System.load("/Users/tobias/Documents/Programmieren/Java/eclipse/PlayWallNative/libNativeAudio.dylib");
+		System.load("/Users/tobias/Documents/Programmieren/Java/git/PlayWall/PlayWallNative/libNativeAudio.dylib");
 
 		NativeAudio.load(0, "/Users/tobias/Downloads/03%20Hymn%20For%20The%20Weekend.mp3.wav");
 		System.out.println(NativeAudio.getDuration(0));