diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java
index 3fd5247..4d84caf 100755
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java
@@ -1,12 +1,14 @@
 package eu.mhsl.craftattack.worldmuseum;
 
 import eu.mhsl.craftattack.worldmuseum.commands.GamemodeCommand;
-import eu.mhsl.craftattack.worldmuseum.commands.GcCommand;
+import eu.mhsl.craftattack.worldmuseum.temp.GcCommand;
 import eu.mhsl.craftattack.worldmuseum.commands.SpawnCommand;
 import eu.mhsl.craftattack.worldmuseum.commands.TeleportCommand;
 import eu.mhsl.craftattack.worldmuseum.listener.*;
 import eu.mhsl.craftattack.worldmuseum.skins.SkinCache;
+import eu.mhsl.craftattack.worldmuseum.temp.TablistUpdateTask;
 import eu.mhsl.craftattack.worldmuseum.util.Config;
+import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
 import eu.mhsl.craftattack.worldmuseum.util.SignHandler;
 import eu.mhsl.craftattack.worldmuseum.worlds.World;
 import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
@@ -28,8 +30,6 @@ public class Main {
         // Initialization
         System.setProperty("minestom.chunk-view-distance", "8");
         MinecraftServer minecraftServer = MinecraftServer.init();
-//        MinecraftServer.setChunkViewDistance(8);
-
 
         //temp
         MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java
index 16b8226..253f6bc 100644
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/InventoryClickListener.java
@@ -1,12 +1,10 @@
 package eu.mhsl.craftattack.worldmuseum.listener;
 
-import eu.mhsl.craftattack.worldmuseum.NewPlayer;
+import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
 import eu.mhsl.craftattack.worldmuseum.util.ChangeWorld;
 import eu.mhsl.craftattack.worldmuseum.worlds.World;
 import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
-import net.minestom.server.entity.Player;
 import net.minestom.server.event.inventory.InventoryPreClickEvent;
-import net.minestom.server.thread.MinestomThread;
 
 import java.util.Objects;
 import java.util.function.Consumer;
@@ -24,12 +22,9 @@ public class InventoryClickListener implements Consumer<InventoryPreClickEvent>
                 p.teleport(w.getSpawn());
             } else {
                 p.closeInventory();
-                Thread thread = new ChangeWorld(p, w);
-                thread.run();
+                ChangeWorld.changeWorld(p, w);
             }
         }
         inventoryPreClickEvent.setCancelled(true);
     }
-
-
 }
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java
index 56c7071..38eeb48 100755
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/ItemUseListener.java
@@ -1,8 +1,7 @@
 package eu.mhsl.craftattack.worldmuseum.listener;
 
-import eu.mhsl.craftattack.worldmuseum.NewPlayer;
+import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
 import eu.mhsl.craftattack.worldmuseum.items.CompassManager;
-import net.minestom.server.entity.Player;
 import net.minestom.server.event.player.PlayerUseItemEvent;
 import net.minestom.server.item.ItemStack;
 import java.util.function.Consumer;
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java
index 24efc49..60b104c 100644
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/MovementListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.worldmuseum.listener;
 
-import eu.mhsl.craftattack.worldmuseum.NewPlayer;
+import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
 import net.minestom.server.event.player.PlayerMoveEvent;
 
 import java.util.function.Consumer;
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/GcCommand.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java
similarity index 97%
rename from src/main/java/eu/mhsl/craftattack/worldmuseum/commands/GcCommand.java
rename to src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java
index 641a22f..37bb9b5 100644
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/GcCommand.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/GcCommand.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.worldmuseum.commands;
+package eu.mhsl.craftattack.worldmuseum.temp;
 
 import net.minestom.server.command.builder.Command;
 
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/TablistUpdateTask.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java
similarity index 97%
rename from src/main/java/eu/mhsl/craftattack/worldmuseum/TablistUpdateTask.java
rename to src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java
index e346ac1..7e58210 100644
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/TablistUpdateTask.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/temp/TablistUpdateTask.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.worldmuseum;
+package eu.mhsl.craftattack.worldmuseum.temp;
 
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java
index 5a90d60..3f68d25 100644
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChangeWorld.java
@@ -1,15 +1,12 @@
 package eu.mhsl.craftattack.worldmuseum.util;
 
-import eu.mhsl.craftattack.worldmuseum.NewPlayer;
 import eu.mhsl.craftattack.worldmuseum.worlds.World;
 import net.minestom.server.potion.Potion;
 import net.minestom.server.potion.PotionEffect;
-import net.minestom.server.thread.MinestomThread;
-
-public class ChangeWorld extends MinestomThread {
-    public ChangeWorld(NewPlayer player, World targetWorld) {
-        super("load_world_for_player");
+public class ChangeWorld {
+    public static void changeWorld(NewPlayer player, World targetWorld) {
         player.setAllowMovement(false);
+        player.setAllowCompassUsage(false);
         player.addEffect(new Potion(PotionEffect.BLINDNESS, (byte) 0, 1000000));
 
         player.setRespawnPoint(targetWorld.getSpawn());
@@ -17,6 +14,7 @@ public class ChangeWorld extends MinestomThread {
             player.setAllowMovement(true);
             player.clearEffects();
             player.update_lastCompassUsage();
+            player.setAllowCompassUsage(true);
         });
     }
 }
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java
deleted file mode 100644
index a805925..0000000
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/util/ChunkLoadUtil.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package eu.mhsl.craftattack.worldmuseum.util;
-
-import eu.mhsl.craftattack.worldmuseum.worlds.World;
-import net.minestom.server.MinecraftServer;
-import net.minestom.server.coordinate.Point;
-import net.minestom.server.instance.Chunk;
-import net.minestom.server.utils.chunk.ChunkUtils;
-
-import java.util.ArrayList;
-import java.util.stream.Stream;
-
-public class ChunkLoadUtil {
-
-    public static boolean areNearbyChunksLoaded(Point point, World world) {
-        ArrayList<Chunk> chunks = new ArrayList<>();
-
-        ChunkUtils.forChunksInRange(point, MinecraftServer.getChunkViewDistance(), (x , z) -> {
-            chunks.add(world.getChunk(x, z));
-        });
-//        Stream.of(new Conditional(point, world, () -> {world.getChunkAt(point).sendChunk();}))
-        return false;
-    }
-
-}
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/NewPlayer.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/NewPlayer.java
similarity index 64%
rename from src/main/java/eu/mhsl/craftattack/worldmuseum/NewPlayer.java
rename to src/main/java/eu/mhsl/craftattack/worldmuseum/util/NewPlayer.java
index f33140c..41d44db 100644
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/NewPlayer.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/util/NewPlayer.java
@@ -1,8 +1,5 @@
-package eu.mhsl.craftattack.worldmuseum;
+package eu.mhsl.craftattack.worldmuseum.util;
 
-import eu.mhsl.craftattack.worldmuseum.worlds.World;
-import net.minestom.server.coordinate.Point;
-import net.minestom.server.coordinate.Pos;
 import net.minestom.server.entity.Player;
 import net.minestom.server.network.player.PlayerConnection;
 import org.jetbrains.annotations.NotNull;
@@ -10,11 +7,12 @@ import org.jetbrains.annotations.Nullable;
 
 import java.time.Duration;
 import java.util.UUID;
-import java.util.concurrent.CompletableFuture;
 
 public class NewPlayer extends Player {
-    private boolean allowMovemenrt = true;
-    private long lastCompassUsage = System.currentTimeMillis();
+
+    private boolean allowMovement = true;
+    private long lastCompassUsage = 0;
+    private boolean allowCompassUsage = true;
 
     public NewPlayer(@NotNull UUID uuid, @NotNull String username, @NotNull PlayerConnection playerConnection) {
         super(uuid, username, playerConnection);
@@ -25,7 +23,7 @@ public class NewPlayer extends Player {
     }
 
     public boolean isAllowMovement() {
-        return allowMovemenrt;
+        return allowMovement;
     }
     public void update_lastCompassUsage() {
         lastCompassUsage = System.currentTimeMillis();
@@ -33,12 +31,15 @@ public class NewPlayer extends Player {
     public boolean isAllowCompassUsage() {
         long UsageDifference = System.currentTimeMillis() - lastCompassUsage;
         System.out.println(UsageDifference);
-        long DIFFERENCE = 10000; //in Milisec
-        if (UsageDifference >= DIFFERENCE) return true;
-        return false;
+        long difference = 10000; //in Milisec
+        return UsageDifference >= difference && allowCompassUsage;
     }
 
     public void setAllowMovement(boolean allowMovement) {
-        this.allowMovemenrt = allowMovement;
+        this.allowMovement = allowMovement;
     }
+    public void setAllowCompassUsage(boolean allowCompassUsage) {
+        this.allowCompassUsage = allowCompassUsage;
+    }
+
 }