diff --git a/src/context-dependant/generics.mjs b/src/context-dependant/generics.mjs
new file mode 100644
index 0000000000000000000000000000000000000000..eeee6fdaacf2608955494167440f1a4dae8ccb89
--- /dev/null
+++ b/src/context-dependant/generics.mjs
@@ -0,0 +1,3 @@
+export const fetch = async ()=>0;
+export const random = async ()=>0;
+export const sha512 = async ()=>0;
diff --git a/src/context-dependant/only-browser.mjs b/src/context-dependant/only-browser.mjs
new file mode 100644
index 0000000000000000000000000000000000000000..272074bfa8634d5f151b116280d359e6f37df082
--- /dev/null
+++ b/src/context-dependant/only-browser.mjs
@@ -0,0 +1,4 @@
+export {fetch}
+export async function fetch(...args){
+	return fetch?fetch(...args):throw new Error('Fetch not available');
+}
diff --git a/src/context-dependant/only-nodejs.mjs b/src/context-dependant/only-nodejs.mjs
new file mode 100644
index 0000000000000000000000000000000000000000..5f230885920a0eec5e2b75b136463d57a46fcb2b
--- /dev/null
+++ b/src/context-dependant/only-nodejs.mjs
@@ -0,0 +1,2 @@
+import fetch from '../../node_modules/node-fetch/lib/index.mjs';
+export {fetch};