diff --git a/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java b/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
index 8a7aae9..f473cce 100644
--- a/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
@@ -55,7 +55,6 @@
 import org.onosproject.store.service.EventuallyConsistentMapBuilder;
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.WallClockTimestamp;
-import org.onosproject.store.service.WallclockClockManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -171,7 +170,7 @@
         nsNextObjStore = nsNextObjMapBuilder
                 .withName("nsnextobjectivestore")
                 .withSerializer(kryoBuilder)
-                .withClockService(new WallclockClockManager<>())
+                .withTimestampProvider((k, v) -> new WallClockTimestamp())
                 .build();
         log.trace("Current size {}", nsNextObjStore.size());
 
@@ -181,7 +180,7 @@
         tunnelStore = tunnelMapBuilder
                 .withName("tunnelstore")
                 .withSerializer(kryoBuilder)
-                .withClockService(new WallclockClockManager<>())
+                .withTimestampProvider((k, v) -> new WallClockTimestamp())
                 .build();
 
         EventuallyConsistentMapBuilder<String, Policy> policyMapBuilder =
@@ -190,7 +189,7 @@
         policyStore = policyMapBuilder
                 .withName("policystore")
                 .withSerializer(kryoBuilder)
-                .withClockService(new WallclockClockManager<>())
+                .withTimestampProvider((k, v) -> new WallClockTimestamp())
                 .build();
 
         networkConfigService.init();
