diff --git a/files/gvm_library.py b/files/gvm_library.py
index 300073dc6db3db9d69ef4482560b22b7807df66f..85df49fd5787f3010af8873efa40c519ad3a686d 100644
--- a/files/gvm_library.py
+++ b/files/gvm_library.py
@@ -80,12 +80,14 @@ class Target:
                  id: str = "",
                  in_use: str = "",
                  hosts: str = "",
-                 client = None):
+                 client = None, 
+                 port_list: PortList = None):
         self.client = client
         self.name = name
         self.id = id
         self.in_use = in_use
         self.hosts = hosts
+        self.port_list = port_list
         
     def __str__(self):
         d = {'name': self.name, 
@@ -96,6 +98,7 @@ class Target:
     
     def __del__(self):
         self.delete()
+        del self.port_list
         
     def delete(self):
         res = self.client.delete_target(self.id)
@@ -134,7 +137,8 @@ class Task:
                  in_use: str = "",
                  status: str = "",
                  progress: str = "",
-                 report_id: str = None):
+                 report_id: str = None, 
+                 target: Target = None):
         self.client = client
         self.name = name
         self.id = id
@@ -142,6 +146,7 @@ class Task:
         self.status = status
         self.progress = progress
         self.report_id = report_id
+        self.target = target
         
     def __str__(self):
         d = {'name': self.name, 
@@ -172,6 +177,7 @@ class Task:
     
     def __del__(self):
         self.delete()
+        del self.target
     
     def update_status(self):
         tasks_info = self.client.get_tasks(filter_string = self.id)
@@ -357,12 +363,13 @@ class GVMClient():
         else:
             logging.error(f"ERROR {status}: {status_text}")
 
-    def get_or_create_target(self, name: str, ip: str, port_list: List[str]) -> Target:
+    def get_or_create_target(self, name: str, ip: str, port_list: PortList) -> Target:
         res = self.get_targets(name)
         if len(res) == 0:
-            t = self.create_target(name,ip,port_list)
+            t = self.create_target(name, ip, port_list)
             return self.get_targets(t.id)[0]
         elif len(res) == 1:
+            res[0].port_list = port_list
             return res[0]
         else:
             print(f"Found {len(res)} results. Return None")
@@ -418,6 +425,7 @@ class GVMClient():
             t = self.create_task(task_name, target)
             return self.get_tasks(t.id)[0]
         elif len(res) == 1:
+            res[0].target = target
             return res[0]
         else:
             print(f"Found {len(res)} results. Return None")
diff --git a/files/scan.py b/files/scan.py
index 5a5c9160a209a33d9b8ce2b6abfacda07ef3a41a..9d0cbdaf59e7c2cf6f1368732a84c61fa7dbd930 100644
--- a/files/scan.py
+++ b/files/scan.py
@@ -96,13 +96,9 @@ for host,ports in endpoints.items():
     else:
         reports[host] = f"ERROR Task: {task.id}"
     
-    print(port_list)
-    print(target)
-    print(task)
-    
     del task 
-    del target
-    del port_list
+    #del target
+    #del port_list
 
 reports = process_global_reports_info(reports)
 logging.info(pretty_json(reports))