diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs
index e56c06bb838dce446aa3c26fe8e83f9323947da9..fed48434601cd1a3737867740f6052b82b03d45c 100644
--- a/src/repository/subscriber.rs
+++ b/src/repository/subscriber.rs
@@ -18,14 +18,25 @@ impl SubscriberRepository {
 
         SUBSCRIBERS.get(product_type).unwrap()
             .insert(subscriber_value.url.clone(), subscriber_value);
-        return subsriber;
+        return subscriber;
     }
     
     pub fn list_all(product_type: &str) -> Vec<Subscriber> {
         if SUBSCRIBERS.get(product_type).is_none() {
-            SUBSCRIBER.insert(String::from(product_type), DashMap::new());
+            SUBSCRIBERS.insert(String::from(product_type), DashMap::new());
         }
         return SUBSCRIBERS.get(product_type).unwrap().iter()
             .map(|f| f.value().clone()).collect();
     }
+
+    pub fn delete(product_type: &str, url: &str) -> Option<Subscriber> {
+        if SUBSCRIBERS.get(product_type).is_none() {
+            SUBSCRIBERS.insert(String::from(product_type), DashMap::new());
+        }
+        let result = SUBSCRIBERS.get(product_type).unwrap().remove(url);
+        if !result.is_none() {
+            return Some(result.unwrap().1);
+        }
+        return None;
+    }
 } 
\ No newline at end of file