     }
     
     /// Returns an `[UInt8]` of the given `range`.
-    func getBytes(range: Range<Int>) throws -> [UInt8] {
+    public func getBytes(range: Range<Int>) throws -> [UInt8] {
         guard (0...(bytesStore.count)).contains(range.endIndex) else {
             throw BinError.outOfBounds
         }

    }
    
    /// Returns the `UInt8`-value of the next byte and increments the reading cursor.
    mutating func readByte() throws -> UInt8 {
        let result = try getByte(index: bitCursor / byteSize)
        bitCursor = incrementedCursorBy(bytes: 1)
        return result

    }
    
    /// Returns the `Int`-value of the given range.
    public mutating func getBits(range: Range<Int>) throws -> Int {
        guard (0...(bytesStore.count * byteSize)).contains(range.endIndex) else {
            throw BinError.outOfBounds
        }
