diff --git a/src/main/java/org/etsi/osl/cridge/ActiveMQComponentConfig.java b/src/main/java/org/etsi/osl/cridge/ActiveMQComponentConfig.java
index b961569f22b7d857e8c9693a0005e4b7f4768368..e58a3ec0a46e9e6e82cb3aa795c21f594f9fbd9e 100644
--- a/src/main/java/org/etsi/osl/cridge/ActiveMQComponentConfig.java
+++ b/src/main/java/org/etsi/osl/cridge/ActiveMQComponentConfig.java
@@ -23,7 +23,6 @@ package org.etsi.osl.cridge;
 import org.apache.camel.component.activemq.ActiveMQComponent;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-
 import jakarta.jms.ConnectionFactory;
 
 /**
diff --git a/src/main/java/org/etsi/osl/cridge/CRRouteBuilder.java b/src/main/java/org/etsi/osl/cridge/CRRouteBuilder.java
index e6cf5cb4e155d69582514ea36bff6432901061db..78ec06a93467a1a3af0ca0f050b753d36b043056 100644
--- a/src/main/java/org/etsi/osl/cridge/CRRouteBuilder.java
+++ b/src/main/java/org/etsi/osl/cridge/CRRouteBuilder.java
@@ -1,6 +1,7 @@
 package org.etsi.osl.cridge;
 
-import java.util.concurrent.ConcurrentHashMap;
+import java.util.Date;
+import java.util.concurrent.TimeUnit;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.RouteBuilder;
 import org.slf4j.Logger;
@@ -12,7 +13,6 @@ import io.fabric8.kubernetes.api.model.Namespace;
 import io.fabric8.kubernetes.api.model.NamespaceBuilder;
 import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.KubernetesClientBuilder;
-import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
 import lombok.Getter;
 
 @Service
@@ -57,17 +57,25 @@ public class CRRouteBuilder  extends RouteBuilder{
         .bean( kubernetesClientResource, "patchCR(${headers}, ${body})")
         .convertBodyTo( String.class );
         
-        
-      from( "timer://processUpdateResources?period=60000" )
-      .log(LoggingLevel.INFO, log, " process nameSpacesTobeDeleted!")
-      .to("log:DEBUG?showBody=true&showHeaders=true")
-      .bean( CRRouteBuilder.class , "processNameSpacesTobeDeleted()");
+        // every  3600000 ms (60 minutes)
+        from( "timer://processUpdateResources?period=3600000" )
+        .log(LoggingLevel.INFO, log, " process nameSpacesTobeDeleted!")
+        .to("log:DEBUG?showBody=true&showHeaders=true")
+        .bean( CRRouteBuilder.class , "processNameSpacesTobeDeleted()");
 		
 	}
 	
 	 public void processNameSpacesTobeDeleted() {
 	   
-	   kubernetesClientResource.getNameSpacesTobeDeleted().forEach( (nameSpaceName, nameSpaceId) -> {
+	   kubernetesClientResource.getNameSpacesTobeDeleted().forEach( (nameSpaceName, datetime) -> {
+	     
+	     Date currentTime = new Date(); //get current time
+	     long diffInMillies = Math.abs(currentTime .getTime() - datetime.getTime());
+	     
+	     long diff = TimeUnit.HOURS.convert(diffInMillies, TimeUnit.MILLISECONDS);
+	     if (diff<=2) { //after 2 hours this namespace will be deleted
+	       return;
+	     }
 	     
 	     try (final KubernetesClient k8s = new KubernetesClientBuilder().build()) {
 	       logger.info("Trying to delete namespace {}", nameSpaceName);
diff --git a/src/main/java/org/etsi/osl/cridge/CatalogClient.java b/src/main/java/org/etsi/osl/cridge/CatalogClient.java
index 76eff954bdc667155ab9ff9da55a7b329025ca34..153284e57ef12aac9e10fe31bb3a3db3f08c71bf 100644
--- a/src/main/java/org/etsi/osl/cridge/CatalogClient.java
+++ b/src/main/java/org/etsi/osl/cridge/CatalogClient.java
@@ -3,21 +3,10 @@ package org.etsi.osl.cridge;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.apache.camel.LoggingLevel;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.dataformat.JsonLibrary;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import org.etsi.osl.model.DeploymentDescriptor;
 import org.etsi.osl.tmf.rcm634.model.LogicalResourceSpecification;
 import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
 import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationCreate;
@@ -25,6 +14,11 @@ import org.etsi.osl.tmf.ri639.model.LogicalResource;
 import org.etsi.osl.tmf.ri639.model.Resource;
 import org.etsi.osl.tmf.ri639.model.ResourceCreate;
 import org.etsi.osl.tmf.ri639.model.ResourceUpdate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
 
 /**
  * @author ctranoris
diff --git a/src/main/java/org/etsi/osl/cridge/CridgeSpingBoot.java b/src/main/java/org/etsi/osl/cridge/CridgeSpingBoot.java
index b3bfbb7fd0850afbeb504056ad036ffc49e41e10..9f12e88a6710bdc3c0f86b388b33bb5f949fac4c 100644
--- a/src/main/java/org/etsi/osl/cridge/CridgeSpingBoot.java
+++ b/src/main/java/org/etsi/osl/cridge/CridgeSpingBoot.java
@@ -19,42 +19,18 @@
  */
 package org.etsi.osl.cridge;
 
-import java.util.Map;
-import java.util.Objects;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.ExitCodeGenerator;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.event.ApplicationReadyEvent;
 import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationListener;
 import org.springframework.context.annotation.Bean;
-import org.springframework.context.event.ContextStoppedEvent;
 import org.springframework.scheduling.annotation.EnableScheduling;
-
-import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
-import io.fabric8.kubernetes.api.model.ListOptionsBuilder;
-import io.fabric8.kubernetes.api.model.Node;
-import io.fabric8.kubernetes.api.model.NodeList;
-import io.fabric8.kubernetes.api.model.Pod;
-import io.fabric8.kubernetes.api.model.PodList;
-import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
+import io.fabric8.kubernetes.client.Config;
 import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.KubernetesClientBuilder;
-import io.fabric8.kubernetes.client.KubernetesClientException;
-import io.fabric8.kubernetes.client.Watch;
-import io.fabric8.kubernetes.client.Watcher;
-import io.fabric8.kubernetes.client.WatcherException;
-import io.fabric8.kubernetes.client.Watcher.Action;
-import io.fabric8.kubernetes.client.dsl.base.ResourceDefinitionContext;
-import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
-import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
-import io.fabric8.kubernetes.client.informers.SharedInformerFactory;
 
 /**
  * @author ctranoris
@@ -64,38 +40,42 @@ import io.fabric8.kubernetes.client.informers.SharedInformerFactory;
 @SpringBootApplication
 public class CridgeSpingBoot implements CommandLineRunner {
 
-	private static ApplicationContext applicationContext;
+  private static ApplicationContext applicationContext;
+
+  private static final Logger logger =
+      LoggerFactory.getLogger(CridgeSpingBoot.class.getSimpleName());
+
 
-	private static final Logger logger = LoggerFactory.getLogger(CridgeSpingBoot.class.getSimpleName());
+  @Bean
+  KubernetesClient kubernetesClient() {
+    System.setProperty(Config.KUBERNETES_KUBECONFIG_FILE , "C:\\Users\\ctranoris\\.kube\\10.10.10.144.config");
+    Config config = Config.autoConfigure(null);
+    return new KubernetesClientBuilder().withConfig(config).build();
+    // return new KubernetesClientBuilder().build();
+  }
 
+  @Override
+  public void run(String... arg0) throws Exception {
+    if (arg0.length > 0 && arg0[0].equals("exitcode")) {
+      throw new ExitException();
+    }
 
-	@Bean
-	KubernetesClient kubernetesClient() {
-		return new KubernetesClientBuilder().build();
-	}
+  }
 
-	@Override
-	public void run(String... arg0) throws Exception {
-		if (arg0.length > 0 && arg0[0].equals("exitcode")) {
-			throw new ExitException();
-		}
+  public static void main(String[] args) throws Exception {
 
-	}
+    logger.info("=========== STARTING CRIDGE ==============================");
+    applicationContext = new SpringApplication(CridgeSpingBoot.class).run(args);
+  }
 
-	public static void main(String[] args) throws Exception {
+  class ExitException extends RuntimeException implements ExitCodeGenerator {
+    private static final long serialVersionUID = 1L;
 
-		logger.info("=========== STARTING CRIDGE ==============================");
-		applicationContext = new SpringApplication(CridgeSpingBoot.class).run(args);
-	}
+    @Override
+    public int getExitCode() {
+      return 10;
+    }
+  }
 
-	class ExitException extends RuntimeException implements ExitCodeGenerator {
-		private static final long serialVersionUID = 1L;
 
-		@Override
-		public int getExitCode() {
-			return 10;
-		}
-	}
-	
-	
 }
diff --git a/src/main/java/org/etsi/osl/cridge/KubernetesClientResource.java b/src/main/java/org/etsi/osl/cridge/KubernetesClientResource.java
index 88a9912ee01702edcf6af2ab17f4a164f8afc2c9..670953a178d45eef2b2407def6cccfe3dc9b1a9a 100644
--- a/src/main/java/org/etsi/osl/cridge/KubernetesClientResource.java
+++ b/src/main/java/org/etsi/osl/cridge/KubernetesClientResource.java
@@ -1,19 +1,24 @@
 package org.etsi.osl.cridge;
 
-import java.sql.Date;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import org.etsi.osl.domain.model.kubernetes.KubernetesCRDProperty;
+import org.etsi.osl.domain.model.kubernetes.KubernetesCRDV1;
+import org.etsi.osl.domain.model.kubernetes.KubernetesCRV1;
+import org.etsi.osl.domain.model.kubernetes.KubernetesContextDefinition;
+import org.etsi.osl.domain.model.kubernetes.KubernetesSecret;
+import org.etsi.osl.tmf.common.model.EValueType;
+import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
+import org.etsi.osl.tmf.ri639.model.ResourceCreate;
+import org.etsi.osl.tmf.ri639.model.ResourceStatusType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
 import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
 import io.fabric8.kubernetes.api.model.Namespace;
 import io.fabric8.kubernetes.api.model.NamespaceBuilder;
@@ -24,25 +29,10 @@ import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition
 import io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps;
 import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.KubernetesClientBuilder;
-import io.fabric8.kubernetes.client.Watch;
-import io.fabric8.kubernetes.client.Watcher;
-import io.fabric8.kubernetes.client.WatcherException;
 import io.fabric8.kubernetes.client.dsl.Resource;
 import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
 import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
-import io.fabric8.kubernetes.client.informers.SharedInformerFactory;
 import io.fabric8.kubernetes.client.utils.Serialization;
-import org.etsi.osl.domain.model.DomainModelDefinition;
-import org.etsi.osl.domain.model.kubernetes.KubernetesCRDProperty;
-import org.etsi.osl.domain.model.kubernetes.KubernetesCRDV1;
-import org.etsi.osl.domain.model.kubernetes.KubernetesCRV1;
-import org.etsi.osl.domain.model.kubernetes.KubernetesContextDefinition;
-import org.etsi.osl.domain.model.kubernetes.KubernetesSecret;
-import org.etsi.osl.tmf.common.model.EValueType;
-import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
-import org.etsi.osl.tmf.ri639.model.ResourceCreate;
-import org.etsi.osl.tmf.ri639.model.ResourceStatusType;
-import org.etsi.osl.tmf.ri639.model.ResourceUpdate;
 import lombok.Getter;
 
 /**
@@ -71,8 +61,9 @@ public class KubernetesClientResource {
 
   /**
    * Garbage collect namespaces to be deleted
+   * Key is the name of the namespace and value the datetime requested. We need this to properly expire this
    */
-  private ConcurrentHashMap<String, String> nameSpacesTobeDeleted = new ConcurrentHashMap<>();
+  private ConcurrentHashMap<String, Date> nameSpacesTobeDeleted = new ConcurrentHashMap<>();
 
   private Map<String, Object> watchersForNamespaces = new HashMap<>();
 
@@ -295,7 +286,7 @@ public class KubernetesClientResource {
 
     kcrv.setYaml( Serialization.asYaml( gkr ) );
     kcrv.setJson( Serialization.asJson( gkr ) );
-    kcrv.setCr_spec( Serialization.asJson( gkr )  );
+    kcrv.setCr_spec_applied( Serialization.asJson( gkr )  );
 
     return kcrv;
 
@@ -427,11 +418,15 @@ public class KubernetesClientResource {
       
     }
     
-
-    
     logger.debug("Deploy the following CR:" );
     logger.debug("{}", crspec );
-   
+    
+//    crspec = """
+//             %s
+//            """.formatted( crspec );
+//
+//    logger.debug("Deploy the following CR NORMALIZED:" );
+//    logger.debug("{}", crspec );
 
     try (final KubernetesClient k8s = new KubernetesClientBuilder().build()) {
 
@@ -486,6 +481,8 @@ public class KubernetesClientResource {
         this.watchersForNamespaces.put(nameSpacename, result);
       }
       
+
+      logger.debug("{}", gkr.toString() );
       
       Resource<GenericKubernetesResource> dummyObject = k8s.resource( gkr );
       dummyObject.create();      
@@ -610,7 +607,8 @@ public class KubernetesClientResource {
       logger.debug("============ DELETE crspec: result {} =============", result.toString() );
       
       String nameSpacename = (String) headers.get("org.etsi.osl.namespace");
-      this.nameSpacesTobeDeleted.put(nameSpacename, nameSpacename);
+      
+      this.nameSpacesTobeDeleted.put(nameSpacename, new Date() );
       this.watchersForNamespaces.remove(nameSpacename);
       
     }catch (Exception e) {
diff --git a/src/main/java/org/etsi/osl/cridge/WatcherService.java b/src/main/java/org/etsi/osl/cridge/WatcherService.java
index 9cdc7f968fd55f989b2ca64785c2ee6b70e772ae..ffaa365bf017ca1868d496b311712646965b3943 100644
--- a/src/main/java/org/etsi/osl/cridge/WatcherService.java
+++ b/src/main/java/org/etsi/osl/cridge/WatcherService.java
@@ -2,22 +2,20 @@ package org.etsi.osl.cridge;
 
 import java.util.List;
 import java.util.Map;
-
+import org.etsi.osl.domain.model.kubernetes.KubernetesCRDV1;
+import org.etsi.osl.tmf.ri639.model.Resource;
+import org.etsi.osl.tmf.ri639.model.ResourceCreate;
+import org.etsi.osl.tmf.ri639.model.ResourceUpdate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationListener;
 import org.springframework.context.event.ContextRefreshedEvent;
-import org.springframework.context.event.ContextStartedEvent;
 import org.springframework.context.event.ContextStoppedEvent;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
-
 import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
-import io.fabric8.kubernetes.api.model.Pod;
-import io.fabric8.kubernetes.api.model.PodList;
 import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition;
-import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.Watch;
 import io.fabric8.kubernetes.client.Watcher;
 import io.fabric8.kubernetes.client.WatcherException;
@@ -25,16 +23,6 @@ import io.fabric8.kubernetes.client.dsl.base.ResourceDefinitionContext;
 import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
 import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
 import io.fabric8.kubernetes.client.informers.SharedInformerFactory;
-import org.etsi.osl.domain.model.kubernetes.KubernetesCRDV1;
-import org.etsi.osl.domain.model.kubernetes.KubernetesContextDefinition;
-import org.etsi.osl.tmf.common.model.EValueType;
-import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
-import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationCreate;
-import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationRef;
-import org.etsi.osl.tmf.ri639.model.Resource;
-import org.etsi.osl.tmf.ri639.model.ResourceCreate;
-import org.etsi.osl.tmf.ri639.model.ResourceUpdate;
-import jakarta.annotation.PostConstruct;
 import jakarta.annotation.PreDestroy;
 
 /**
@@ -232,15 +220,27 @@ public class WatcherService {
 			public void eventReceived(Action action, GenericKubernetesResource genericKubernetesResource) {
 				watcherResourcesName = genericKubernetesResource.getKind();
 
+				/**
+				 * Ignore the following kinds!
+				 */
+				if ( genericKubernetesResource.getKind() .startsWith("IPAM") ) {
+                  return;
+                }
+                
+				
 				logger.debug("{} Resource Kind:{} Name:{} UID:{} Namespace:{}", action.name(),
 						genericKubernetesResource.getKind(), genericKubernetesResource.getMetadata().getName(),
 						genericKubernetesResource.getMetadata().getUid(),
 						genericKubernetesResource.getMetadata().getNamespace());
+				
+				
 				genericKubernetesResource.getAdditionalProperties().forEach((pk, pv) -> {
 					logger.debug("\t {} {} ", pk, pv);
 					Map<String, Object> values = (Map<String, Object>) pv;
 					values.forEach((speck, specv) -> logger.debug("\t  {}={} ", speck, specv));
 				});
+				
+				
 				//ADDED, DELETED, MODIFIED, BOOKMARK, ERROR
 				if ( action.name().equals( "ADDED" ) ) {
 				  updateGenericKubernetesResourceInOSLCatalog( genericKubernetesResource );				  
@@ -248,6 +248,7 @@ public class WatcherService {
 				} else if ( action.name().equals( "MODIFIED" ) ) {
                   updateGenericKubernetesResourceInOSLCatalog( genericKubernetesResource );					
 				} else if ( action.name().equals( "DELETED" ) ) {
+				  genericKubernetesResource.getMetadata().getLabels().put("org.etsi.osl.deleted", "DELETED");
                   updateGenericKubernetesResourceInOSLCatalog( genericKubernetesResource );					
 				} else {