diff --git a/client.py b/client.py
index 9a4a97f..274395c 100755
--- a/client.py
+++ b/client.py
@@ -23,7 +23,6 @@ from compare_json import compare_json
 from config import get_config
 from dir_to_json import get_json
 from misc import check_network
-from misc import flatten_dirs
 from misc import path_join
 from pystray import Icon, Menu
 from pystray import MenuItem as Item
@@ -36,7 +35,7 @@ except ImportError:
 
 _online_icon = Image.open("img/icons/online.png")
 _offline_icon = Image.open("img/icons/offline.png")
-_standby_icon = Image.open("img/icons/offline.png")
+_standby_icon = Image.open("img/icons/standby.png")
 
 if not int(os.getenv("VERBOSE", 1)):
     def X(*args, **kwargs):
@@ -57,6 +56,9 @@ class MunyalClient(Icon):
         # if not self.ws_online:
         #     self.icon = _standby_icon
         #     return False
+        if self.__ws_break:
+            self.icon = _standby_icon
+            return False
         ping = check_network("http://google.com", 443)
         if ping:
             self.icon = _online_icon
@@ -91,16 +93,16 @@ class MunyalClient(Icon):
         # thread_downloader.start()
         # thread_listener.start()
 
-        self.run(self.__run)
         self.menu = Menu(Item("Exit", lambda *args: sys.exit(0)))
+        self.run(self.__run)
 
     def __run(self, icon):
         icon.visible = True
         while True:
             print("Conectando al websocket")
             ws = websocket.WebSocketApp(
-                f"ws://{self.config['login']['user']}.loca.lt",
-                # "ws://127.0.0.1:12345",
+                # f"ws://{self.config['login']['user']}.loca.lt",
+                "ws://127.0.0.1:12345",
                 on_message=self.__download,
                 on_error=print,
                 on_close=lambda soc: self.__ws_close(ws))
@@ -111,6 +113,7 @@ class MunyalClient(Icon):
     def __ws_close(self, ws):
         print("WebSocket cerrado")
         self.__ws_break = True
+        self.icon = _standby_icon
 
     def listener(self, ws):
         self.ws = ws
@@ -119,10 +122,9 @@ class MunyalClient(Icon):
             folder = self.config["folder"]
             uuid = self.config["uuid"]
             while True:
-                print(self.stack)
+                data = self.stack[0]
                 if self.stack:
                     try:
-                        data = self.stack[0]
                         data["uuid"] = uuid
                         if data["name"] in self.ignored:
                             self.ignored.remove(data["name"])
@@ -135,8 +137,14 @@ class MunyalClient(Icon):
                         self.ws.send(json.dumps(data))
                         self.stack.pop(0)
                     except Exception as e:
-                        print(e)
-                        print("Error uploading file, trying again")
+                        if data["is_file"] and data["action"] == "add":
+                            path = path_join(folder, data["name"])
+                            if not os.path.exists(path):
+                                self.stack.pop(0)
+                            print("the file does not exists anymore, skiped")
+                        else:
+                            print(e)
+                            print("Error uploading file, trying again")
                 if not self.is_online() or self.__ws_break:
                     self.__ws_break = False
                     self.ws = None
@@ -157,13 +165,13 @@ class MunyalClient(Icon):
 
             if delete:
                 print("Cosas eliminadas:")
-                print(delete)
+                print(len(delete))
                 for f in delete:
                     f["action"] = "delete"
                 self.stack.extend(delete)
             if add:
                 print("Cosas agregadas:")
-                print(add)
+                print(len(add))
                 for f in add:
                     f["action"] = "add"
                 self.stack.extend(add)
diff --git a/compare_json.py b/compare_json.py
index 75a24e9..9614276 100644
--- a/compare_json.py
+++ b/compare_json.py
@@ -1,7 +1,7 @@
 import json
 
 from dir_to_json import get_json
-from misc import flatten_dirs
+from flatten_dirs import flatten_dirs
 
 
 def compare_json(json_1, json_2):
diff --git a/flatten_dirs.py b/flatten_dirs.py
new file mode 100644
index 0000000..b1a21cf
--- /dev/null
+++ b/flatten_dirs.py
@@ -0,0 +1,19 @@
+from misc import path_join
+
+def _flatten_dirs(content, path=""):
+    for item in content:
+        item["name"] = path_join(path, item["name"])
+        if item["is_file"]:
+            yield item
+        else:
+            yield from _flatten_dirs(item["content"], item["name"])
+            del item["content"]
+            yield item
+
+def flatten_dirs(content, path=""):
+    dirs = _flatten_dirs(content, path=path)
+
+    output = {}
+    for item in dirs:
+        output[item["name"]] = item
+    return output
diff --git a/misc.py b/misc.py
index 419370b..651f14d 100644
--- a/misc.py
+++ b/misc.py
@@ -36,24 +36,6 @@ def alert(window, message, title="Munyal"):
     button.pack()
 
 
-def _flatten_dirs(content, path=""):
-    for item in content:
-        item["name"] = path_join(path, item["name"])
-        if item["is_file"]:
-            yield item
-        else:
-            yield from _flatten_dirs(item["content"], item["name"])
-            del item["content"]
-            yield item
-
-def flatten_dirs(content, path=""):
-    dirs = _flatten_dirs(content, path=path)
-
-    output = {}
-    for item in dirs:
-        output[item["name"]] = item
-    return output
-
 def flatten_dirs_old(content, path="", action=""):
     output = []
     for item in content: