diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5960160f1185f09e4cf83f5781b90cb4aba7aa8b..d6099df8389099ee0bc6869f9ec6decf42aa5649 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,4 @@
 # v2.23.2
 
 * minor changes to DictObject's documentation
+* added methods reset_and_stop and property stopped to measure
diff --git a/satella/__init__.py b/satella/__init__.py
index 30f94a2c829a1a6f91259c28d753f685a56b4985..c75c4fcb29e0f8d53169c79c1dbda6f3a81d78a8 100644
--- a/satella/__init__.py
+++ b/satella/__init__.py
@@ -1 +1 @@
-__version__ = '2.23.2a1'
+__version__ = '2.23.2'
diff --git a/satella/time/measure.py b/satella/time/measure.py
index b56dcba4637883514faaacd6a5ed134c39648d7f..08220a4363df240c8a230e2e6c5387475806c1b1 100644
--- a/satella/time/measure.py
+++ b/satella/time/measure.py
@@ -145,6 +145,15 @@ class measure:
         self.reset()
         self.start()
 
+    def reset_and_stop(self) -> None:
+        """
+        Syntactic sugar for calling stop() and then reset()
+
+        .. versionadded:: 2.23.2
+        """
+        self.stop()
+        self.reset()
+
     def has_exceeded(self, value: float) -> bool:
         """
         Return whether the timer has exceeded provided value.
@@ -245,6 +254,15 @@ class measure:
             self.start()
         return self
 
+    @property
+    def stopped(self) -> bool:
+        """
+        Whether this counter is already stopped
+
+        .. versionadded:: 2.23.2
+        """
+        return self.stopped_on is not None
+
     def stop(self) -> None:
         """
         Stop counting time
diff --git a/tests/test_time.py b/tests/test_time.py
index 7088544c6bc9f3028e2238446522099010669e02..a97c9c13218b67ed97e071061361255f3d844e05 100644
--- a/tests/test_time.py
+++ b/tests/test_time.py
@@ -144,6 +144,19 @@ class TestTime(unittest.TestCase):
             time.sleep(1)
             self.assertTrue(measurement.timeouted)
 
+    def test_measure_reset_and_stop(self):
+        m1 = measure(create_stopped=True)
+        m1.start()
+        time.sleep(0.5)
+        self.assertFalse(m1.stopped)
+        self.assertGreaterEqual(m1(), 0.5)
+        m1.reset_and_stop()
+        self.assertTrue(m1.stopped)
+        self.assertEqual(m1(), 0)
+        m1.start()
+        time.sleep(0.5)
+        self.assertGreaterEqual(m1(), 0.5)
+
     @unittest.skipIf('win' in sys.platform, 'Needs POSIX to run')
     def test_sleep(self):
         sleep(-2)