 
     def tour_restart do
         request_get("/tour/restart")
+    end
+
+    def dht_find_peer(arg) do
+        res = request_get("/dht/findpeer?arg=", arg)
+        res.body
+    end
+
+    def dht_find_provs(arg) do
+        res = request_get("/dht/findprovs?arg=", arg)
+        res.body
+    end
+
+    def dht_get(arg) do
+        res = request_get("/dht/get?arg=", arg)
+        res.body
+    end
+
+    def dht_provide(arg) do
+        res = request_get("/dht/provide?arg=", arg)
+        res.body
+    end
+
+    def dht_put(key, value) do  
+        res = request_get("/dht/put?arg=" <> key <> "&arg=" <> value)
+        res.body
+    end
+
+    def dht_query(peer_id) do
+        res = request_get("/dht/query?arg=", peer_id)
+        res.body
     end
     
     defp shutdown(pid, term \\ []) do

        end)
    end

    defp request_post(path, data) do
        case post(path, data) do
            %Tesla.Env{status: 200, headers: headers, body: body} -> %{:headers => headers, :body => body}

    end 

    def bitswap_unwant(keys) do
        res = request_get("/bitswap/unwant?arg=", keys)
        res.body
    end

    def id do
