diff --git a/trsync.py b/trsync.py
index 2e7a015..4fbf347 100644
--- a/trsync.py
+++ b/trsync.py
@@ -6,28 +6,7 @@
 import utils
 
 from rsync_remote import RsyncRemote
-from utils import singleton
-
-
-@singleton
-class TimeStamp(object):
-    def __init__(self, now=None):
-        # now='2015-06-18-104259'
-        self.snapshot_stamp_format = r'%Y-%m-%d-%H%M%S'
-        self.snapshot_stamp_regexp = r'[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{6}'
-
-        if now is None:
-            self.now = datetime.datetime.utcnow()
-        else:
-            self.now = datetime.datetime.strptime(now,
-                                                  self.snapshot_stamp_format)
-        self.snapshot_stamp = self.now.strftime(self.snapshot_stamp_format)
-
-    def __str__(self):
-        return self.snapshot_stamp
-
-    def reinit(self, *args, **kwagrs):
-        self.__init__(*args, **kwagrs)
+from utils import TimeStamp
 
 
 class TRsync(RsyncRemote):
