diff --git a/main/commons/pom.xml b/main/commons/pom.xml
index 9e3763569..23e4f6877 100644
--- a/main/commons/pom.xml
+++ b/main/commons/pom.xml
@@ -14,6 +14,11 @@
Shared utilities
+
+ com.google.guava
+ guava
+
+
junit
junit
@@ -30,5 +35,4 @@
test
-
diff --git a/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/WeakValuedCache.java b/main/commons/src/main/java/org/cryptomator/common/WeakValuedCache.java
similarity index 93%
rename from main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/WeakValuedCache.java
rename to main/commons/src/main/java/org/cryptomator/common/WeakValuedCache.java
index a07040d7c..0c2030f94 100644
--- a/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/WeakValuedCache.java
+++ b/main/commons/src/main/java/org/cryptomator/common/WeakValuedCache.java
@@ -1,4 +1,4 @@
-package org.cryptomator.filesystem.nio;
+package org.cryptomator.common;
import java.util.concurrent.ExecutionException;
import java.util.function.Function;
@@ -9,7 +9,7 @@ import com.google.common.cache.LoadingCache;
import com.google.common.util.concurrent.ExecutionError;
import com.google.common.util.concurrent.UncheckedExecutionException;
-class WeakValuedCache {
+public class WeakValuedCache {
private final LoadingCache delegate;
diff --git a/main/filesystem-nio/src/test/java/org/cryptomator/filesystem/nio/WeakValuedCacheTest.java b/main/commons/src/test/java/org/cryptomator/common/WeakValuedCacheTest.java
similarity index 98%
rename from main/filesystem-nio/src/test/java/org/cryptomator/filesystem/nio/WeakValuedCacheTest.java
rename to main/commons/src/test/java/org/cryptomator/common/WeakValuedCacheTest.java
index 93b9a1b8a..58830356c 100644
--- a/main/filesystem-nio/src/test/java/org/cryptomator/filesystem/nio/WeakValuedCacheTest.java
+++ b/main/commons/src/test/java/org/cryptomator/common/WeakValuedCacheTest.java
@@ -1,4 +1,4 @@
-package org.cryptomator.filesystem.nio;
+package org.cryptomator.common;
import static java.lang.String.format;
import static org.hamcrest.CoreMatchers.is;
@@ -9,6 +9,7 @@ import static org.mockito.Mockito.when;
import java.util.function.Function;
+import org.cryptomator.common.WeakValuedCache;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
diff --git a/main/filesystem-nio/pom.xml b/main/filesystem-nio/pom.xml
index 5e3571e5f..ff1fc5a67 100644
--- a/main/filesystem-nio/pom.xml
+++ b/main/filesystem-nio/pom.xml
@@ -14,6 +14,10 @@
FileSystem implementation to access the real file system of an operating system
+
+ org.cryptomator
+ commons
+
org.cryptomator
filesystem-api
diff --git a/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/NioFolder.java b/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/NioFolder.java
index 9a8c58c4f..e11c39c30 100644
--- a/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/NioFolder.java
+++ b/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/NioFolder.java
@@ -9,6 +9,7 @@ import java.time.Instant;
import java.util.Optional;
import java.util.stream.Stream;
+import org.cryptomator.common.WeakValuedCache;
import org.cryptomator.filesystem.File;
import org.cryptomator.filesystem.Folder;
import org.cryptomator.filesystem.Node;