diff --git a/libpfr/inc/pfr.hpp b/libpfr/inc/pfr.hpp
index cd1b4f2..42af3f7 100644
--- a/libpfr/inc/pfr.hpp
+++ b/libpfr/inc/pfr.hpp
@@ -41,9 +41,10 @@
     minorError
 };
 
+std::string toHexString(const uint8_t val);
 std::string getVersionInfoCPLD(ImageType &imgType);
 int getProvisioningStatus(bool &ufmLocked, bool &ufmProvisioned);
-int readCpldReg(const ActionType &action, uint8_t value);
+int readCpldReg(const ActionType &action, uint8_t &value);
 int setBMCBootCheckpoint(const uint8_t checkPoint);
 
 } // namespace pfr
diff --git a/libpfr/src/pfr.cpp b/libpfr/src/pfr.cpp
index c30ef5b..955b6d7 100644
--- a/libpfr/src/pfr.cpp
+++ b/libpfr/src/pfr.cpp
@@ -54,11 +54,11 @@
 static constexpr uint8_t ufmLockedMask = (0x1 << 0x04);
 static constexpr uint8_t ufmProvisionedMask = (0x1 << 0x05);
 
-template <typename T> std::string int_to_hexstring(T i)
+std::string toHexString(const uint8_t val)
 {
     std::stringstream stream;
-    stream << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex
-           << static_cast<int>(i);
+    stream << std::setfill('0') << std::setw(2) << std::hex
+           << static_cast<int>(val);
     return stream.str();
 }
 
@@ -110,7 +110,7 @@
         uint8_t majorVer = cpldDev.i2cReadByteData(majorReg);
         uint8_t minorVer = cpldDev.i2cReadByteData(minorReg);
         std::string version =
-            int_to_hexstring(majorVer) + "." + int_to_hexstring(minorVer);
+            toHexString(majorVer) + "." + toHexString(minorVer);
         return version;
     }
     catch (const std::exception& e)
@@ -141,7 +141,7 @@
     }
 }
 
-int readCpldReg(const ActionType& action, uint8_t value)
+int readCpldReg(const ActionType& action, uint8_t& value)
 {
     uint8_t cpldReg;
 
