diff --git a/include/erase.hpp b/include/erase.hpp
index 33489ea..8acd3d8 100644
--- a/include/erase.hpp
+++ b/include/erase.hpp
@@ -15,11 +15,6 @@
     Erase(std::string_view inDevPath) : devPath(inDevPath)
     {}
 
-    /** @brief finds the size of the linux block device in bytes
-     *  @return size of a block device using the devPath
-     */
-    uint64_t findSizeOfBlockDevice();
-
   protected:
     /* The linux path for the block device */
     std::string devPath;
diff --git a/include/pattern.hpp b/include/pattern.hpp
index 69301e7..4def784 100644
--- a/include/pattern.hpp
+++ b/include/pattern.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "erase.hpp"
+#include "util.hpp"
 
 #include <stdplus/fd/create.hpp>
 #include <stdplus/fd/managed.hpp>
@@ -27,6 +28,11 @@
      *
      *  @param[in] bytes - Size of the block device
      */
+    void writePattern()
+    {
+        writePattern(util::Util::findSizeOfBlockDevice(devPath));
+    }
+
     void writePattern(uint64_t driveSize);
 
     /** @brief verifies the uncompressible random pattern is on the drive
@@ -34,6 +40,11 @@
      *
      *  @param[in] bytes - Size of the block device
      */
+
+    void verifyPattern()
+    {
+        verifyPattern(util::Util::findSizeOfBlockDevice(devPath));
+    }
     void verifyPattern(uint64_t driveSize);
 };
 
diff --git a/include/util.hpp b/include/util.hpp
new file mode 100644
index 0000000..1d706ce
--- /dev/null
+++ b/include/util.hpp
@@ -0,0 +1,21 @@
+#pragma once
+#include <string_view>
+
+namespace estoraged
+{
+namespace util
+{
+
+class Util
+{
+  public:
+    /** @brief finds the size of the linux block device in bytes
+     *  @param[in] devpath - the name of the linux block device
+     *  @return size of a block device using the devPath
+     */
+    static uint64_t findSizeOfBlockDevice(const std::string& devPath);
+};
+
+} // namespace util
+
+} // namespace estoraged
diff --git a/include/verifyDriveGeometry.hpp b/include/verifyDriveGeometry.hpp
index 457297b..ea54998 100644
--- a/include/verifyDriveGeometry.hpp
+++ b/include/verifyDriveGeometry.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "erase.hpp"
+#include "util.hpp"
 
 #include <string_view>
 
@@ -22,6 +23,10 @@
      *
      *  @param[in] bytes - Size of the block device
      */
+    void geometryOkay()
+    {
+        geometryOkay(util::Util::findSizeOfBlockDevice(devPath));
+    }
     void geometryOkay(uint64_t bytes);
 };
 
diff --git a/include/zero.hpp b/include/zero.hpp
index e8675e8..00c2b38 100644
--- a/include/zero.hpp
+++ b/include/zero.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "erase.hpp"
+#include "util.hpp"
 
 #include <stdplus/fd/create.hpp>
 #include <stdplus/fd/managed.hpp>
@@ -19,21 +20,34 @@
      */
     Zero(std::string_view inDevPath) : Erase(inDevPath)
     {}
-
     /** @brief writes zero to the drive
      * and throws errors accordingly.
-     *
-     *  @param[in] bytes - Size of the block device
+     *  @param[in] driveSize - the size of the block device in bytes
      */
     void writeZero(uint64_t driveSize);
 
+    /** @brief writes zero to the drive
+     * and throws errors accordingly.
+     */
+    void writeZero()
+    {
+        writeZero(util::Util::findSizeOfBlockDevice(devPath));
+    }
+
     /** @brief verifies the  uncompressible random pattern is on the drive
      * and throws errors accordingly.
-     *
-     *  @param[in] bytes - Size of the block device
+     *  @param[in] driveSize - the size of the block device in bytes
      */
     void verifyZero(uint64_t driveSize);
 
+    /** @brief verifies the  uncompressible random pattern is on the drive
+     * and throws errors accordingly.
+     */
+    void verifyZero()
+    {
+        verifyZero(util::Util::findSizeOfBlockDevice(devPath));
+    }
+
   private:
     /* @brief the size of the blocks in bytes used for write and verify.
      * 32768 was also tested. It had almost identical performance.
