   Starts the server
   """
   def start_link() do
-    GenServer.start_link(__MODULE__, [], name: __MODULE__)
+    case GenServer.start_link(__MODULE__, [], name: {:global, __MODULE__}) do
+      {:ok, pid} ->
+        {:ok, pid}
+      {:error, {:already_started, pid}} ->
+        Process.link(pid)
+        {:ok, pid}
+    end
   end
 
   @doc """
   Stops the server
   """
   def stop() do
-    GenServer.stop(__MODULE__)
+    GenServer.stop({:global, __MODULE__})
   end
 
   @doc ~S"""

      0
  """
  def pop() do
    GenServer.call(__MODULE__, :pop)
  end

  @doc ~S"""

      []
  """
  def delete_all() do
    GenServer.call({:global, __MODULE__}, :delete_all)
  end

  # Callbacks
