diff --git a/message_parsers.cpp b/message_parsers.cpp
index 07945f0..5370036 100644
--- a/message_parsers.cpp
+++ b/message_parsers.cpp
@@ -94,8 +94,8 @@
     auto header = reinterpret_cast<SessionHeader_t*>(inPacket.data());
 
     message->payloadType = PayloadType::IPMI;
-    message->bmcSessionID = endian::from_ipmi<>(header->sessId);
-    message->sessionSeqNum = endian::from_ipmi<>(header->sessSeqNum);
+    message->bmcSessionID = endian::from_ipmi(header->sessId);
+    message->sessionSeqNum = endian::from_ipmi(header->sessSeqNum);
     message->isPacketEncrypted = false;
     message->isPacketAuthenticated = false;
 
@@ -121,7 +121,7 @@
     header->base.format.formatType =
         static_cast<uint8_t>(parser::SessionHeader::IPMI15);
     header->sessSeqNum = 0;
-    header->sessId = endian::to_ipmi<>(outMessage.rcSessionID);
+    header->sessId = endian::to_ipmi(outMessage.rcSessionID);
 
     header->payloadLength = static_cast<uint8_t>(outMessage.payload.size());
 
@@ -157,14 +157,14 @@
 
     message->payloadType = static_cast<PayloadType>
                            (header->payloadType & 0x3F);
-    message->bmcSessionID = endian::from_ipmi<>(header->sessId);
-    message->sessionSeqNum = endian::from_ipmi<>(header->sessSeqNum);
+    message->bmcSessionID = endian::from_ipmi(header->sessId);
+    message->sessionSeqNum = endian::from_ipmi(header->sessSeqNum);
     message->isPacketEncrypted =
         ((header->payloadType & PAYLOAD_ENCRYPT_MASK) ? true : false);
     message->isPacketAuthenticated =
         ((header->payloadType & PAYLOAD_AUTH_MASK) ? true : false);
 
-    auto payloadLen = endian::from_ipmi<>(header->payloadLength);
+    auto payloadLen = endian::from_ipmi(header->payloadLength);
     message->payload.assign(inPacket.begin() + sizeof(SessionHeader_t),
                             inPacket.begin() + sizeof(SessionHeader_t) +
                             payloadLen);
@@ -184,13 +184,13 @@
     header->base.format.formatType =
         static_cast<uint8_t>(parser::SessionHeader::IPMI20);
     header->payloadType = static_cast<uint8_t>(outMessage.payloadType);
-    header->sessId = endian::to_ipmi<>(outMessage.rcSessionID);
+    header->sessId = endian::to_ipmi(outMessage.rcSessionID);
 
     // Add session sequence number
     internal::addSequenceNumber(packet, session);
 
     // Add Payload
-    header->payloadLength = endian::to_ipmi<>(outMessage.payload.size());
+    header->payloadLength = endian::to_ipmi(outMessage.payload.size());
     // Insert the Payload into the Packet
     packet.insert(packet.end(), outMessage.payload.begin(),
                   outMessage.payload.end());
@@ -212,7 +212,7 @@
     else
     {
         auto seqNum = session.sequenceNums.increment();
-        header->sessSeqNum = endian::to_ipmi<>(seqNum);
+        header->sessSeqNum = endian::to_ipmi(seqNum);
     }
 }
 
diff --git a/message_parsers.hpp b/message_parsers.hpp
index 49a0c5d..1b5a693 100644
--- a/message_parsers.hpp
+++ b/message_parsers.hpp
@@ -19,9 +19,6 @@
 // RMCP Message Class 7h is for IPMI
 constexpr size_t RMCP_MESSAGE_CLASS_IPMI = 7;
 
-// Maximum packet size that we'll handle
-constexpr uint32_t MESSAGE_MAX_PACKET_LENGTH = 512;
-
 enum class SessionHeader
 {
     IPMI15 = 0x00,
@@ -136,8 +133,6 @@
     // Integrity Pad
     uint8_t padLength;
     uint8_t nextHeader;
-    // AuthCode (Integrity Data)
-    uint8_t authCode[MAX_INTEGRITY_DATA_LENGTH];
 } __attribute__((packed));
 
 /*
