diff --git a/src/main/java/top/outlands/foundation/boot/ActualClassLoader.java b/src/main/java/top/outlands/foundation/boot/ActualClassLoader.java
index 0580c82..2dae680 100644
--- a/src/main/java/top/outlands/foundation/boot/ActualClassLoader.java
+++ b/src/main/java/top/outlands/foundation/boot/ActualClassLoader.java
@@ -36,7 +36,7 @@ public class ActualClassLoader extends URLClassLoader {
     public static final int BUFFER_SIZE = 1 << 12;
     private final List<URL> sources;
     private final Set<String> jarNames = new HashSet<>();
-    private ClassLoader parent = getClass().getClassLoader();
+    private ClassLoader parent = ActualClassLoader.class.getClassLoader();
     public static final PrefixTrie<Boolean> classLoaderExceptions = new PrefixTrie<>();
     public static final PrefixTrie<Boolean> transformerExceptions = new PrefixTrie<>();
     private final Map<String, Class<?>> cachedClasses = new ConcurrentHashMap<>();
@@ -58,33 +58,7 @@ public class ActualClassLoader extends URLClassLoader {
     private static final MethodHandles.Lookup LOOKUP = ImagineBreaker.lookup();
     private static Consumer<URL> addURL;
     static {
-        try {
-            Class<?> loader = LOOKUP.findClass("jdk.internal.loader.BuiltinClassLoader");
-            Class<?> ucp = LOOKUP.findClass("jdk.internal.loader.URLClassPath");
-            VarHandle ucpField = MethodHandles.privateLookupIn(loader, LOOKUP)
-                    .findVarHandle(loader, "ucp", ucp);
-            MethodHandle add = LOOKUP.findVirtual(ucp, "addURL", MethodType.methodType(Void.TYPE, URL.class));
-            add.bindTo(ucpField.get(Launch.appClassLoader));
-            addURL = url -> {
-                try {
-                    add.invokeWithArguments(ucpField.get(Launch.appClassLoader), url);
-                } catch (Throwable e) {
-                    LOGGER.error(e);
-                }
-            };
-        } catch (Throwable t1) {
-            LOGGER.warn(t1);
-            try {
-                Class<?> loader = Classes.forName("jdk.internal.loader.BuiltinClassLoader");
-                Class<?> ucp = Classes.forName("jdk.internal.loader.URLClassPath", false, Launch.appClassLoader);
-                Field ucpField = Fields.getDeclaredField(loader, "ucp");
-                Method add = Methods.getDeclaredMethod(ucp, "addURL");
-                addURL = url -> Methods.invoke(Fields.getObject(Launch.appClassLoader, ucpField), add, new Object[]{url});
-            } catch (Throwable t2) {
-                LOGGER.warn(t2);
-                LOGGER.fatal("Can't get parent class ucp");
-            }
-        }
+        addURL = (e) -> {};
     }
 
     
@@ -134,6 +108,8 @@ public class ActualClassLoader extends URLClassLoader {
         addClassLoaderExclusion0("net.minecraftforge.server.terminalconsole.");
         addClassLoaderExclusion0("net.lenni0451.reflect.");
         addClassLoaderExclusion0("com.yourkit.");
+        addClassLoaderExclusion0("pro.gravit.launcher.");
+        addClassLoaderExclusion0("pro.gravit.utils.");
         addTransformerExclusion("org.spongepowered.asm.launch.");
         addTransformerExclusion("org.spongepowered.asm.logging.");
         addTransformerExclusion("org.spongepowered.asm.mixin.");
diff --git a/src/main/java/top/outlands/foundation/boot/Foundation.java b/src/main/java/top/outlands/foundation/boot/Foundation.java
index b6af8cf..f5006c2 100644
--- a/src/main/java/top/outlands/foundation/boot/Foundation.java
+++ b/src/main/java/top/outlands/foundation/boot/Foundation.java
@@ -30,7 +30,7 @@ public class Foundation {
         try {
             breakModuleAndReflection();
             if (Launch.classLoader == null) {
-                Launch.classLoader = new LaunchClassLoader(ClassLoader.getSystemClassLoader());
+                Launch.classLoader = new LaunchClassLoader(Foundation.class.getClassLoader());
                 LOGGER.info("System ClassLoader is AppCL");
             } else {
                 LOGGER = LogManager.getLogger("Foundation");
