     with {:ok, schema} <- do_get(pointer, xema), do: {:ok, schema, root: xema}
   end
 
-  defp get_x(%Ref{remote: true, url: url, path: path, pointer: pointer}, opts) do
+  defp get(%Ref{remote: true, url: url, path: path, pointer: pointer}, opts) do
     uri = Path.join(url, path)
 
     xema = Map.get(opts[:root].refs, uri)

    end
  end

  defp get_x(%Ref{remote: false, path: nil, pointer: pointer}, opts) do
    with {:ok, schema} <- do_get(pointer, opts[:root]), do: {:ok, schema, opts}
  end

  defp get_x(%Ref{remote: false, path: path, pointer: nil}, opts) do
    id =
      opts[:id]
      |> URI.parse()

    {:ok, ref, opts}
  end

  defp get(%Ref{remote: true, url: nil, path: path, pointer: pointer}, opts) do
    uri = URI.parse(opts[:id])

    uri =
