         guard rawValue.utf8.count == 17
             else { return nil }
         
-        var bytes = Data(repeating: 0, count: 6)
+        var bytes: ByteValue = (0, 0, 0, 0, 0, 0)
         
         // parse bytes
         guard rawValue.withCString({ (cString) -> Bool in

                guard let byte = UInt8(exactly: number)
                    else { return false }
                
                bytes[index] = byte
                cString = cString.advanced(by: 3)
            }
            

            
        }) else { return nil }
        
        self.init(bigEndian: Address(bytes: bytes))
    }
    
    public var rawValue: String {
        
        let bytes = self.bigEndian.bytes
        
        return String(format: "%02X:%02X:%02X:%02X:%02X:%02X", bytes.0, bytes.1, bytes.2, bytes.3, bytes.4, bytes.5)
    }
}

