     
     /// Initialize with a `String` of hexadecimal values.
     public init?(hexString: String) {
-        let bytes = hexString.chunked(by: 2).compactMap{ UInt8($0, radix: 16) }
-        guard hexString.count == bytes.count * 2 else {
+        let charsPerByte = 2
+        let hexBase = 16
+        let bytes = hexString.chunked(by: charsPerByte).compactMap{ UInt8($0, radix: hexBase) }
+        guard hexString.count / charsPerByte == bytes.count else {
             return nil
         }
         self.init(bytes: bytes)

    /// Returns the `UInt8`-value of the next 4 bit and
    /// increments the reading cursor by 4 bits.
    public mutating func readNibble() throws -> UInt8 {
        return UInt8(try readBits(quantitiy: 4))
    }
    
    // MARK: - Find

            throw BinaryError.outOfBounds
        }
        let byteCursor = index / byteSize
        let byteLastBitIndex = 7
        let bitindex = byteLastBitIndex - (index % byteSize)
        return (bytesStore[byteCursor] >> bitindex) & 1
    }
    
